...

Text file src/github.com/GoogleCloudPlatform/k8s-config-connector/pkg/crd/fielddesc/testdata/accesscontextmanageraccesslevel-spec.golden.yaml

Documentation: github.com/GoogleCloudPlatform/k8s-config-connector/pkg/crd/fielddesc/testdata

     1# Copyright 2023 Google LLC
     2#
     3# Licensed under the Apache License, Version 2.0 (the "License");
     4# you may not use this file except in compliance with the License.
     5# You may obtain a copy of the License at
     6#
     7#      http://www.apache.org/licenses/LICENSE-2.0
     8#
     9# Unless required by applicable law or agreed to in writing, software
    10# distributed under the License is distributed on an "AS IS" BASIS,
    11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12# See the License for the specific language governing permissions and
    13# limitations under the License.
    14
    15fullname:
    16- spec
    17shortname: spec
    18description: ""
    19type: object
    20requirementlevel: Required
    21children:
    22- fullname:
    23  - spec
    24  - accessPolicyRef
    25  shortname: accessPolicyRef
    26  description: |-
    27    The AccessContextManagerAccessPolicy this
    28    AccessContextManagerAccessLevel lives in.
    29  type: object
    30  requirementlevel: Required
    31  children:
    32  - fullname:
    33    - spec
    34    - accessPolicyRef
    35    - external
    36    shortname: external
    37    description: 'Allowed value: string of the format `accessPolicies/{{value}}`,
    38      where {{value}} is the `name` field of an `AccessContextManagerAccessPolicy`
    39      resource.'
    40    type: string
    41    requirementlevel: Optional
    42    children: []
    43    additionalproperties: []
    44  - fullname:
    45    - spec
    46    - accessPolicyRef
    47    - name
    48    shortname: name
    49    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
    50    type: string
    51    requirementlevel: Optional
    52    children: []
    53    additionalproperties: []
    54  - fullname:
    55    - spec
    56    - accessPolicyRef
    57    - namespace
    58    shortname: namespace
    59    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
    60    type: string
    61    requirementlevel: Optional
    62    children: []
    63    additionalproperties: []
    64  additionalproperties: []
    65- fullname:
    66  - spec
    67  - basic
    68  shortname: basic
    69  description: A set of predefined conditions for the access level and a combining
    70    function.
    71  type: object
    72  requirementlevel: Optional
    73  children:
    74  - fullname:
    75    - spec
    76    - basic
    77    - combiningFunction
    78    shortname: combiningFunction
    79    description: |-
    80      How the conditions list should be combined to determine if a request
    81      is granted this AccessLevel. If AND is used, each Condition in
    82      conditions must be satisfied for the AccessLevel to be applied. If
    83      OR is used, at least one Condition in conditions must be satisfied
    84      for the AccessLevel to be applied. Default value: "AND" Possible values: ["AND", "OR"].
    85    type: string
    86    requirementlevel: Optional
    87    children: []
    88    additionalproperties: []
    89  - fullname:
    90    - spec
    91    - basic
    92    - conditions
    93    shortname: conditions
    94    description: A set of requirements for the AccessLevel to be granted.
    95    type: list (object)
    96    requirementlevel: RequiredWhenParentPresent
    97    children:
    98    - fullname:
    99      - spec
   100      - basic
   101      - conditions
   102      - '[]'
   103      shortname: '[]'
   104      description: ""
   105      type: object
   106      requirementlevel: RequiredWhenParentPresent
   107      children:
   108      - fullname:
   109        - spec
   110        - basic
   111        - conditions
   112        - '[]'
   113        - devicePolicy
   114        shortname: devicePolicy
   115        description: |-
   116          Device specific restrictions, all restrictions must hold for
   117          the Condition to be true. If not specified, all devices are
   118          allowed.
   119        type: object
   120        requirementlevel: Optional
   121        children:
   122        - fullname:
   123          - spec
   124          - basic
   125          - conditions
   126          - '[]'
   127          - devicePolicy
   128          - allowedDeviceManagementLevels
   129          shortname: allowedDeviceManagementLevels
   130          description: |-
   131            A list of allowed device management levels.
   132            An empty list allows all management levels. Possible values: ["MANAGEMENT_UNSPECIFIED", "NONE", "BASIC", "COMPLETE"].
   133          type: list (string)
   134          requirementlevel: Optional
   135          children:
   136          - fullname:
   137            - spec
   138            - basic
   139            - conditions
   140            - '[]'
   141            - devicePolicy
   142            - allowedDeviceManagementLevels
   143            - '[]'
   144            shortname: '[]'
   145            description: ""
   146            type: string
   147            requirementlevel: Optional
   148            children: []
   149            additionalproperties: []
   150          additionalproperties: []
   151        - fullname:
   152          - spec
   153          - basic
   154          - conditions
   155          - '[]'
   156          - devicePolicy
   157          - allowedEncryptionStatuses
   158          shortname: allowedEncryptionStatuses
   159          description: |-
   160            A list of allowed encryptions statuses.
   161            An empty list allows all statuses. Possible values: ["ENCRYPTION_UNSPECIFIED", "ENCRYPTION_UNSUPPORTED", "UNENCRYPTED", "ENCRYPTED"].
   162          type: list (string)
   163          requirementlevel: Optional
   164          children:
   165          - fullname:
   166            - spec
   167            - basic
   168            - conditions
   169            - '[]'
   170            - devicePolicy
   171            - allowedEncryptionStatuses
   172            - '[]'
   173            shortname: '[]'
   174            description: ""
   175            type: string
   176            requirementlevel: Optional
   177            children: []
   178            additionalproperties: []
   179          additionalproperties: []
   180        - fullname:
   181          - spec
   182          - basic
   183          - conditions
   184          - '[]'
   185          - devicePolicy
   186          - osConstraints
   187          shortname: osConstraints
   188          description: |-
   189            A list of allowed OS versions.
   190            An empty list allows all types and all versions.
   191          type: list (object)
   192          requirementlevel: Optional
   193          children:
   194          - fullname:
   195            - spec
   196            - basic
   197            - conditions
   198            - '[]'
   199            - devicePolicy
   200            - osConstraints
   201            - '[]'
   202            shortname: '[]'
   203            description: ""
   204            type: object
   205            requirementlevel: Optional
   206            children:
   207            - fullname:
   208              - spec
   209              - basic
   210              - conditions
   211              - '[]'
   212              - devicePolicy
   213              - osConstraints
   214              - '[]'
   215              - minimumVersion
   216              shortname: minimumVersion
   217              description: |-
   218                The minimum allowed OS version. If not set, any version
   219                of this OS satisfies the constraint.
   220                Format: "major.minor.patch" such as "10.5.301", "9.2.1".
   221              type: string
   222              requirementlevel: Optional
   223              children: []
   224              additionalproperties: []
   225            - fullname:
   226              - spec
   227              - basic
   228              - conditions
   229              - '[]'
   230              - devicePolicy
   231              - osConstraints
   232              - '[]'
   233              - osType
   234              shortname: osType
   235              description: 'The operating system type of the device. Possible values:
   236                ["OS_UNSPECIFIED", "DESKTOP_MAC", "DESKTOP_WINDOWS", "DESKTOP_LINUX",
   237                "DESKTOP_CHROME_OS", "ANDROID", "IOS"].'
   238              type: string
   239              requirementlevel: RequiredWhenParentPresent
   240              children: []
   241              additionalproperties: []
   242            - fullname:
   243              - spec
   244              - basic
   245              - conditions
   246              - '[]'
   247              - devicePolicy
   248              - osConstraints
   249              - '[]'
   250              - requireVerifiedChromeOs
   251              shortname: requireVerifiedChromeOs
   252              description: If you specify DESKTOP_CHROME_OS for osType, you can optionally
   253                include requireVerifiedChromeOs to require Chrome Verified Access.
   254              type: boolean
   255              requirementlevel: Optional
   256              children: []
   257              additionalproperties: []
   258            additionalproperties: []
   259          additionalproperties: []
   260        - fullname:
   261          - spec
   262          - basic
   263          - conditions
   264          - '[]'
   265          - devicePolicy
   266          - requireAdminApproval
   267          shortname: requireAdminApproval
   268          description: Whether the device needs to be approved by the customer admin.
   269          type: boolean
   270          requirementlevel: Optional
   271          children: []
   272          additionalproperties: []
   273        - fullname:
   274          - spec
   275          - basic
   276          - conditions
   277          - '[]'
   278          - devicePolicy
   279          - requireCorpOwned
   280          shortname: requireCorpOwned
   281          description: Whether the device needs to be corp owned.
   282          type: boolean
   283          requirementlevel: Optional
   284          children: []
   285          additionalproperties: []
   286        - fullname:
   287          - spec
   288          - basic
   289          - conditions
   290          - '[]'
   291          - devicePolicy
   292          - requireScreenLock
   293          shortname: requireScreenLock
   294          description: |-
   295            Whether or not screenlock is required for the DevicePolicy
   296            to be true. Defaults to false.
   297          type: boolean
   298          requirementlevel: Optional
   299          children: []
   300          additionalproperties: []
   301        additionalproperties: []
   302      - fullname:
   303        - spec
   304        - basic
   305        - conditions
   306        - '[]'
   307        - ipSubnetworks
   308        shortname: ipSubnetworks
   309        description: |-
   310          A list of CIDR block IP subnetwork specification. May be IPv4
   311          or IPv6.
   312          Note that for a CIDR IP address block, the specified IP address
   313          portion must be properly truncated (i.e. all the host bits must
   314          be zero) or the input is considered malformed. For example,
   315          "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
   316          for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
   317          is not. The originating IP of a request must be in one of the
   318          listed subnets in order for this Condition to be true.
   319          If empty, all IP addresses are allowed.
   320        type: list (string)
   321        requirementlevel: Optional
   322        children:
   323        - fullname:
   324          - spec
   325          - basic
   326          - conditions
   327          - '[]'
   328          - ipSubnetworks
   329          - '[]'
   330          shortname: '[]'
   331          description: ""
   332          type: string
   333          requirementlevel: Optional
   334          children: []
   335          additionalproperties: []
   336        additionalproperties: []
   337      - fullname:
   338        - spec
   339        - basic
   340        - conditions
   341        - '[]'
   342        - members
   343        shortname: members
   344        description: ""
   345        type: list (object)
   346        requirementlevel: Optional
   347        children:
   348        - fullname:
   349          - spec
   350          - basic
   351          - conditions
   352          - '[]'
   353          - members
   354          - '[]'
   355          shortname: '[]'
   356          description: |-
   357            An allowed list of members (users, service accounts).
   358            Using groups is not supported.
   359
   360            The signed-in user originating the request must be a part of one
   361            of the provided members. If not specified, a request may come
   362            from any user (logged in/not logged in, not present in any
   363            groups, etc.).
   364          type: object
   365          requirementlevel: Optional
   366          children:
   367          - fullname:
   368            - spec
   369            - basic
   370            - conditions
   371            - '[]'
   372            - members
   373            - '[]'
   374            - serviceAccountRef
   375            shortname: serviceAccountRef
   376            description: ""
   377            type: object
   378            requirementlevel: Optional
   379            children:
   380            - fullname:
   381              - spec
   382              - basic
   383              - conditions
   384              - '[]'
   385              - members
   386              - '[]'
   387              - serviceAccountRef
   388              - external
   389              shortname: external
   390              description: 'Allowed value: string of the format `serviceAccount:{{value}}`,
   391                where {{value}} is the `email` field of an `IAMServiceAccount` resource.'
   392              type: string
   393              requirementlevel: Optional
   394              children: []
   395              additionalproperties: []
   396            - fullname:
   397              - spec
   398              - basic
   399              - conditions
   400              - '[]'
   401              - members
   402              - '[]'
   403              - serviceAccountRef
   404              - name
   405              shortname: name
   406              description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   407              type: string
   408              requirementlevel: Optional
   409              children: []
   410              additionalproperties: []
   411            - fullname:
   412              - spec
   413              - basic
   414              - conditions
   415              - '[]'
   416              - members
   417              - '[]'
   418              - serviceAccountRef
   419              - namespace
   420              shortname: namespace
   421              description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   422              type: string
   423              requirementlevel: Optional
   424              children: []
   425              additionalproperties: []
   426            additionalproperties: []
   427          - fullname:
   428            - spec
   429            - basic
   430            - conditions
   431            - '[]'
   432            - members
   433            - '[]'
   434            - user
   435            shortname: user
   436            description: ""
   437            type: string
   438            requirementlevel: Optional
   439            children: []
   440            additionalproperties: []
   441          additionalproperties: []
   442        additionalproperties: []
   443      - fullname:
   444        - spec
   445        - basic
   446        - conditions
   447        - '[]'
   448        - negate
   449        shortname: negate
   450        description: |-
   451          Whether to negate the Condition. If true, the Condition becomes
   452          a NAND over its non-empty fields, each field must be false for
   453          the Condition overall to be satisfied. Defaults to false.
   454        type: boolean
   455        requirementlevel: Optional
   456        children: []
   457        additionalproperties: []
   458      - fullname:
   459        - spec
   460        - basic
   461        - conditions
   462        - '[]'
   463        - regions
   464        shortname: regions
   465        description: |-
   466          The request must originate from one of the provided
   467          countries/regions.
   468          Format: A valid ISO 3166-1 alpha-2 code.
   469        type: list (string)
   470        requirementlevel: Optional
   471        children:
   472        - fullname:
   473          - spec
   474          - basic
   475          - conditions
   476          - '[]'
   477          - regions
   478          - '[]'
   479          shortname: '[]'
   480          description: ""
   481          type: string
   482          requirementlevel: Optional
   483          children: []
   484          additionalproperties: []
   485        additionalproperties: []
   486      - fullname:
   487        - spec
   488        - basic
   489        - conditions
   490        - '[]'
   491        - requiredAccessLevels
   492        shortname: requiredAccessLevels
   493        description: ""
   494        type: list (object)
   495        requirementlevel: Optional
   496        children:
   497        - fullname:
   498          - spec
   499          - basic
   500          - conditions
   501          - '[]'
   502          - requiredAccessLevels
   503          - '[]'
   504          shortname: '[]'
   505          description: |-
   506            A list of other access levels defined in the same policy.
   507            Referencing an AccessContextManagerAccessLevel which does not exist
   508            is an error. All access levels listed must be granted for the
   509            condition to be true.
   510          type: object
   511          requirementlevel: Optional
   512          children:
   513          - fullname:
   514            - spec
   515            - basic
   516            - conditions
   517            - '[]'
   518            - requiredAccessLevels
   519            - '[]'
   520            - external
   521            shortname: external
   522            description: 'Allowed value: The `name` field of an `AccessContextManagerAccessLevel`
   523              resource.'
   524            type: string
   525            requirementlevel: Optional
   526            children: []
   527            additionalproperties: []
   528          - fullname:
   529            - spec
   530            - basic
   531            - conditions
   532            - '[]'
   533            - requiredAccessLevels
   534            - '[]'
   535            - name
   536            shortname: name
   537            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   538            type: string
   539            requirementlevel: Optional
   540            children: []
   541            additionalproperties: []
   542          - fullname:
   543            - spec
   544            - basic
   545            - conditions
   546            - '[]'
   547            - requiredAccessLevels
   548            - '[]'
   549            - namespace
   550            shortname: namespace
   551            description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   552            type: string
   553            requirementlevel: Optional
   554            children: []
   555            additionalproperties: []
   556          additionalproperties: []
   557        additionalproperties: []
   558      additionalproperties: []
   559    additionalproperties: []
   560  additionalproperties: []
   561- fullname:
   562  - spec
   563  - custom
   564  shortname: custom
   565  description: |-
   566    Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
   567    See CEL spec at: https://github.com/google/cel-spec.
   568  type: object
   569  requirementlevel: Optional
   570  children:
   571  - fullname:
   572    - spec
   573    - custom
   574    - expr
   575    shortname: expr
   576    description: |-
   577      Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
   578      This page details the objects and attributes that are used to the build the CEL expressions for
   579      custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
   580    type: object
   581    requirementlevel: RequiredWhenParentPresent
   582    children:
   583    - fullname:
   584      - spec
   585      - custom
   586      - expr
   587      - description
   588      shortname: description
   589      description: Description of the expression.
   590      type: string
   591      requirementlevel: Optional
   592      children: []
   593      additionalproperties: []
   594    - fullname:
   595      - spec
   596      - custom
   597      - expr
   598      - expression
   599      shortname: expression
   600      description: Textual representation of an expression in Common Expression Language
   601        syntax.
   602      type: string
   603      requirementlevel: RequiredWhenParentPresent
   604      children: []
   605      additionalproperties: []
   606    - fullname:
   607      - spec
   608      - custom
   609      - expr
   610      - location
   611      shortname: location
   612      description: String indicating the location of the expression for error reporting,
   613        e.g. a file name and a position in the file.
   614      type: string
   615      requirementlevel: Optional
   616      children: []
   617      additionalproperties: []
   618    - fullname:
   619      - spec
   620      - custom
   621      - expr
   622      - title
   623      shortname: title
   624      description: Title for the expression, i.e. a short string describing its purpose.
   625      type: string
   626      requirementlevel: Optional
   627      children: []
   628      additionalproperties: []
   629    additionalproperties: []
   630  additionalproperties: []
   631- fullname:
   632  - spec
   633  - description
   634  shortname: description
   635  description: Description of the AccessLevel and its use. Does not affect behavior.
   636  type: string
   637  requirementlevel: Optional
   638  children: []
   639  additionalproperties: []
   640- fullname:
   641  - spec
   642  - resourceID
   643  shortname: resourceID
   644  description: Immutable. Optional. The name of the resource. Used for creation and
   645    acquisition. When unset, the value of `metadata.name` is used as the default.
   646  type: string
   647  requirementlevel: Optional
   648  children: []
   649  additionalproperties: []
   650- fullname:
   651  - spec
   652  - title
   653  shortname: title
   654  description: Human readable title. Must be unique within the Policy.
   655  type: string
   656  requirementlevel: Required
   657  children: []
   658  additionalproperties: []
   659additionalproperties: []

View as plain text