lib/azure.bend checks
raw source on the hub · import 0xc13c365900e26112e0e544022d18fe0b/lib/azure.bend as Azure
2 imports
import Base import near-architecture@0.9.1.0/arc.bend as Arc
Types
type Resource source · line 5 · raw
Data
Public metadata and effective ARM permission patterns only. No credential values.
Resource@name:String -> @kind:String -> @group:String -> @location:String -> Resource
type DeclaredResource source · line 8 · raw
Data
DeclaredResource@name:String -> @kind:String -> @group:String -> DeclaredResource
type Permission source · line 11 · raw
Data
Permission@scope:String -> @actions:List<&2, String> -> @not_actions:List<&2, String> -> Permission
type Project source · line 14 · raw
Data
Project@name:String -> Project
type Repository source · line 17 · raw
Data
Repository@name:String -> Repository
type Pipeline source · line 20 · raw
Data
Pipeline@name:String -> @repository:String -> @yaml:String -> Pipeline
type ServiceConnection source · line 23 · raw
Data
ServiceConnection@name:String -> @kind:String -> @scheme:String -> ServiceConnection
type Identity source · line 26 · raw
Data
Identity@profile:String -> @name:String -> Identity
Definitions
def same_resource source · line 29 · raw
@a:Resource -> @b:Resource -> Bool
def contains_resource source · line 34 · raw
@+x:Resource -> @xs:List<&2, Resource> -> Bool
def all_resources_in source · line 41 · raw
@xs:List<&2, Resource> -> @+ys:List<&2, Resource> -> Bool
def resources_equal source · line 48 · raw
@+a:List<&2, Resource> -> @+b:List<&2, Resource> -> Bool
def declared_matches source · line 51 · raw
@d:DeclaredResource -> @r:Resource -> Bool
def resource_declared source · line 56 · raw
@+r:Resource -> @ds:List<&2, DeclaredResource> -> Bool
def declaration_exists source · line 61 · raw
@+d:DeclaredResource -> @rs:List<&2, Resource> -> Bool
def all_observed_declared source · line 66 · raw
@rs:List<&2, Resource> -> @+ds:List<&2, DeclaredResource> -> Bool
def all_declared_observed source · line 71 · raw
@ds:List<&2, DeclaredResource> -> @+rs:List<&2, Resource> -> Bool
def inventory_equal source · line 76 · raw
@+ds:List<&2, DeclaredResource> -> @+rs:List<&2, Resource> -> Bool
def declaration_names source · line 79 · raw
@ds:List<&2, DeclaredResource> -> List<&2, String>
def contains_name source · line 86 · raw
@+name:String -> @xs:List<&2, String> -> Bool
def all_names_in source · line 91 · raw
@xs:List<&2, String> -> @+ys:List<&2, String> -> Bool
def scopes_equal source · line 96 · raw
@+declared:List<&2, String> -> @+observed:List<&2, String> -> Bool
def glob_chars source · line 100 · raw
@+ps:List<&2, Char> -> @+vs:List<&2, Char> -> Bool
ARM patterns use '*' for zero or more characters; matching is case insensitive.
def glob source · line 117 · raw
@pattern:String -> @value:String -> Bool
def covers source · line 122 · raw
@+want:String -> @+actual:String -> Bool
A wildcard pattern is covered only by the same pattern or '*'. This conservative rule avoids claiming that overlapping wildcards grant exactly equal permissions.
def covered source · line 127 · raw
@+action:String -> @patterns:List<&2, String> -> Bool
def every_covered source · line 134 · raw
@xs:List<&2, String> -> @+by:List<&2, String> -> Bool
def actions_if source · line 141 · raw
@hit:Bool -> @acts:List<&2, String> -> @rest:List<&2, String> -> List<&2, String>
def scope_actions source · line 146 · raw
@+scope:String -> @xs:List<&2, Permission> -> List<&2, String>
def no_exclusions source · line 155 · raw
@+scope:String -> @xs:List<&2, Permission> -> Bool
def permissions_equal source · line 164 · raw
@+scope:String -> @+want:List<&2, String> -> @+actual:List<&2, Permission> -> Bool
def in_domain source · line 168 · raw
@name:String -> @domain:String -> Bool
def identities_in_domain source · line 171 · raw
@xs:List<&2, Identity> -> @+domain:String -> Bool
def identity_names source · line 180 · raw
@xs:List<&2, Identity> -> List<&2, String>
def access_minimal source · line 189 · raw
@groups:List<&2, String> -> @+a:0x7bd24d368ebfcad9cc9e619cb6e740cd/arc.Agreement -> @+person:String -> @+actual:List<&2, Permission> -> Bool
Permission minimality: on every resource group, person has exactly what the agreement grants
there (nothing granted means no access at all).