---
# Source: iam-chart/crds/iam.services.k8s.aws_groups.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: groups.iam.services.k8s.aws
spec:
  group: iam.services.k8s.aws
  names:
    kind: Group
    listKind: GroupList
    plural: groups
    singular: group
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Group is the Schema for the Groups API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: |-
              GroupSpec defines the desired state of Group.

              Contains information about an IAM group entity.

              This data type is used as a response element in the following operations:

                - CreateGroup

                - GetGroup

                - ListGroups
            properties:
              inlinePolicies:
                additionalProperties:
                  type: string
                type: object
              name:
                description: |-
                  The name of the group to create. Do not include the path in this value.

                  IAM user, group, role, and policy names must be unique within the account.
                  Names are not distinguished by case. For example, you cannot create resources
                  named both "MyResource" and "myresource".

                  Regex Pattern: `^[\w+=,.@-]+$`
                type: string
              path:
                description: |-
                  The path to the group. For more information about paths, see IAM identifiers
                  (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  This parameter is optional. If it is not included, it defaults to a slash
                  (/).

                  This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
                  a string of characters consisting of either a forward slash (/) by itself
                  or a string that must begin and end with forward slashes. In addition, it
                  can contain any ASCII character from the ! (\u0021) through the DEL character
                  (\u007F), including most punctuation characters, digits, and upper and lowercased
                  letters.

                  Regex Pattern: `^(\u002F)|(\u002F[\u0021-\u007E]+\u002F)$`
                type: string
              policies:
                items:
                  type: string
                type: array
              policyRefs:
                items:
                  description: "AWSResourceReferenceWrapper provides a wrapper around
                    *AWSResourceReference\ntype to provide more user friendly syntax
                    for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t
                    \ name: my-api"
                  properties:
                    from:
                      description: |-
                        AWSResourceReference provides all the values necessary to reference another
                        k8s resource for finding the identifier(Id/ARN/Name)
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                      type: object
                  type: object
                type: array
            required:
            - name
            type: object
          status:
            description: GroupStatus defines the observed state of Group
            properties:
              ackResourceMetadata:
                description: |-
                  All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
                  that is used to contain resource sync state, account ownership,
                  constructed ARN for the resource
                properties:
                  arn:
                    description: |-
                      ARN is the Amazon Resource Name for the resource. This is a
                      globally-unique identifier and is set only by the ACK service controller
                      once the controller has orchestrated the creation of the resource OR
                      when it has verified that an "adopted" resource (a resource where the
                      ARN annotation was set by the Kubernetes user on the CR) exists and
                      matches the supplied CR's Spec field values.
                      https://github.com/aws/aws-controllers-k8s/issues/270
                    type: string
                  ownerAccountID:
                    description: |-
                      OwnerAccountID is the AWS Account ID of the account that owns the
                      backend AWS service API resource.
                    type: string
                  partition:
                    description: Partition is the AWS partition in which the resource
                      exists or will exist
                    type: string
                  region:
                    description: Region is the AWS region in which the resource exists
                      or will exist.
                    type: string
                required:
                - ownerAccountID
                - region
                type: object
              conditions:
                description: |-
                  All CRs managed by ACK have a common `Status.Conditions` member that
                  contains a collection of `ackv1alpha1.Condition` objects that describe
                  the various terminal states of the CR and its backend AWS service API
                  resource
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service API resource
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the Condition
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              createDate:
                description: |-
                  The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
                  when the group was created.
                format: date-time
                type: string
              groupID:
                description: |-
                  The stable and unique string identifying the group. For more information
                  about IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  Regex Pattern: `^[\w]+$`
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/crds/iam.services.k8s.aws_instanceprofiles.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: instanceprofiles.iam.services.k8s.aws
spec:
  group: iam.services.k8s.aws
  names:
    kind: InstanceProfile
    listKind: InstanceProfileList
    plural: instanceprofiles
    singular: instanceprofile
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: InstanceProfile is the Schema for the InstanceProfiles API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: |-
              InstanceProfileSpec defines the desired state of InstanceProfile.

              Contains information about an instance profile.

              This data type is used as a response element in the following operations:

                - CreateInstanceProfile

                - GetInstanceProfile

                - ListInstanceProfiles

                - ListInstanceProfilesForRole
            properties:
              name:
                description: |-
                  The name of the instance profile to create.

                  This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
                  a string of characters consisting of upper and lowercase alphanumeric characters
                  with no spaces. You can also include any of the following characters: _+=,.@-

                  Regex Pattern: `^[\w+=,.@-]+$`
                type: string
              path:
                description: |-
                  The path to the instance profile. For more information about paths, see IAM
                  Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  This parameter is optional. If it is not included, it defaults to a slash
                  (/).

                  This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
                  a string of characters consisting of either a forward slash (/) by itself
                  or a string that must begin and end with forward slashes. In addition, it
                  can contain any ASCII character from the ! (\u0021) through the DEL character
                  (\u007F), including most punctuation characters, digits, and upper and lowercased
                  letters.

                  Regex Pattern: `^(\u002F)|(\u002F[\u0021-\u007E]+\u002F)$`
                type: string
                x-kubernetes-validations:
                - message: Value is immutable once set
                  rule: self == oldSelf
              role:
                type: string
              roleRef:
                description: "AWSResourceReferenceWrapper provides a wrapper around
                  *AWSResourceReference\ntype to provide more user friendly syntax
                  for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t
                  \ name: my-api"
                properties:
                  from:
                    description: |-
                      AWSResourceReference provides all the values necessary to reference another
                      k8s resource for finding the identifier(Id/ARN/Name)
                    properties:
                      name:
                        type: string
                      namespace:
                        type: string
                    type: object
                type: object
              tags:
                description: |-
                  A list of tags that you want to attach to the newly created IAM instance
                  profile. Each tag consists of a key name and an associated value. For more
                  information about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                  in the IAM User Guide.

                  If any one of the tags is invalid or if you exceed the allowed maximum number
                  of tags, then the entire request fails and the resource is not created.
                items:
                  description: |-
                    A structure that represents user-provided metadata that can be associated
                    with an IAM resource. For more information about tagging, see Tagging IAM
                    resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                    in the IAM User Guide.
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  type: object
                type: array
            required:
            - name
            type: object
          status:
            description: InstanceProfileStatus defines the observed state of InstanceProfile
            properties:
              ackResourceMetadata:
                description: |-
                  All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
                  that is used to contain resource sync state, account ownership,
                  constructed ARN for the resource
                properties:
                  arn:
                    description: |-
                      ARN is the Amazon Resource Name for the resource. This is a
                      globally-unique identifier and is set only by the ACK service controller
                      once the controller has orchestrated the creation of the resource OR
                      when it has verified that an "adopted" resource (a resource where the
                      ARN annotation was set by the Kubernetes user on the CR) exists and
                      matches the supplied CR's Spec field values.
                      https://github.com/aws/aws-controllers-k8s/issues/270
                    type: string
                  ownerAccountID:
                    description: |-
                      OwnerAccountID is the AWS Account ID of the account that owns the
                      backend AWS service API resource.
                    type: string
                  partition:
                    description: Partition is the AWS partition in which the resource
                      exists or will exist
                    type: string
                  region:
                    description: Region is the AWS region in which the resource exists
                      or will exist.
                    type: string
                required:
                - ownerAccountID
                - region
                type: object
              conditions:
                description: |-
                  All CRs managed by ACK have a common `Status.Conditions` member that
                  contains a collection of `ackv1alpha1.Condition` objects that describe
                  the various terminal states of the CR and its backend AWS service API
                  resource
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service API resource
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the Condition
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              createDate:
                description: The date when the instance profile was created.
                format: date-time
                type: string
              instanceProfileID:
                description: |-
                  The stable and unique string identifying the instance profile. For more information
                  about IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  Regex Pattern: `^[\w]+$`
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/crds/iam.services.k8s.aws_openidconnectproviders.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: openidconnectproviders.iam.services.k8s.aws
spec:
  group: iam.services.k8s.aws
  names:
    kind: OpenIDConnectProvider
    listKind: OpenIDConnectProviderList
    plural: openidconnectproviders
    singular: openidconnectprovider
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: OpenIDConnectProvider is the Schema for the OpenIDConnectProviders
          API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: OpenIDConnectProviderSpec defines the desired state of OpenIDConnectProvider.
            properties:
              clientIDs:
                description: |-
                  Provides a list of client IDs, also known as audiences. When a mobile or
                  web app registers with an OpenID Connect provider, they establish a value
                  that identifies the application. This is the value that's sent as the client_id
                  parameter on OAuth requests.

                  You can register multiple client IDs with the same provider. For example,
                  you might have multiple applications that use the same OIDC provider. You
                  cannot register more than 100 client IDs with a single IAM OIDC provider.

                  There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest
                  operation accepts client IDs up to 255 characters long.
                items:
                  type: string
                type: array
              tags:
                description: |-
                  A list of tags that you want to attach to the new IAM OpenID Connect (OIDC)
                  provider. Each tag consists of a key name and an associated value. For more
                  information about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                  in the IAM User Guide.

                  If any one of the tags is invalid or if you exceed the allowed maximum number
                  of tags, then the entire request fails and the resource is not created.
                items:
                  description: |-
                    A structure that represents user-provided metadata that can be associated
                    with an IAM resource. For more information about tagging, see Tagging IAM
                    resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                    in the IAM User Guide.
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  type: object
                type: array
              thumbprints:
                description: |-
                  A list of server certificate thumbprints for the OpenID Connect (OIDC) identity
                  provider's server certificates. Typically this list includes only one entry.
                  However, IAM lets you have up to five thumbprints for an OIDC provider. This
                  lets you maintain multiple thumbprints if the identity provider is rotating
                  certificates.

                  This parameter is optional. If it is not included, IAM will retrieve and
                  use the top intermediate certificate authority (CA) thumbprint of the OpenID
                  Connect identity provider server certificate.

                  The server certificate thumbprint is the hex-encoded SHA-1 hash value of
                  the X.509 certificate used by the domain where the OpenID Connect provider
                  makes its keys available. It is always a 40-character string.

                  For example, assume that the OIDC provider is server.example.com and the
                  provider stores its keys at https://keys.server.example.com/openid-connect.
                  In that case, the thumbprint string would be the hex-encoded SHA-1 hash value
                  of the certificate used by https://keys.server.example.com.

                  For more information about obtaining the OIDC provider thumbprint, see Obtaining
                  the thumbprint for an OpenID Connect provider (https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html)
                  in the IAM user Guide.
                items:
                  type: string
                type: array
              url:
                description: |-
                  The URL of the identity provider. The URL must begin with https:// and should
                  correspond to the iss claim in the provider's OpenID Connect ID tokens. Per
                  the OIDC standard, path components are allowed but query parameters are not.
                  Typically the URL consists of only a hostname, like https://server.example.org
                  or https://example.com. The URL should not contain a port number.

                  You cannot register the same provider multiple times in a single Amazon Web
                  Services account. If you try to submit a URL that has already been used for
                  an OpenID Connect provider in the Amazon Web Services account, you will get
                  an error.
                type: string
                x-kubernetes-validations:
                - message: Value is immutable once set
                  rule: self == oldSelf
            required:
            - url
            type: object
          status:
            description: OpenIDConnectProviderStatus defines the observed state of
              OpenIDConnectProvider
            properties:
              ackResourceMetadata:
                description: |-
                  All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
                  that is used to contain resource sync state, account ownership,
                  constructed ARN for the resource
                properties:
                  arn:
                    description: |-
                      ARN is the Amazon Resource Name for the resource. This is a
                      globally-unique identifier and is set only by the ACK service controller
                      once the controller has orchestrated the creation of the resource OR
                      when it has verified that an "adopted" resource (a resource where the
                      ARN annotation was set by the Kubernetes user on the CR) exists and
                      matches the supplied CR's Spec field values.
                      https://github.com/aws/aws-controllers-k8s/issues/270
                    type: string
                  ownerAccountID:
                    description: |-
                      OwnerAccountID is the AWS Account ID of the account that owns the
                      backend AWS service API resource.
                    type: string
                  partition:
                    description: Partition is the AWS partition in which the resource
                      exists or will exist
                    type: string
                  region:
                    description: Region is the AWS region in which the resource exists
                      or will exist.
                    type: string
                required:
                - ownerAccountID
                - region
                type: object
              conditions:
                description: |-
                  All CRs managed by ACK have a common `Status.Conditions` member that
                  contains a collection of `ackv1alpha1.Condition` objects that describe
                  the various terminal states of the CR and its backend AWS service API
                  resource
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service API resource
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the Condition
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/crds/iam.services.k8s.aws_policies.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: policies.iam.services.k8s.aws
spec:
  group: iam.services.k8s.aws
  names:
    kind: Policy
    listKind: PolicyList
    plural: policies
    singular: policy
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Policy is the Schema for the Policies API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: |-
              PolicySpec defines the desired state of Policy.

              Contains information about a managed policy.

              This data type is used as a response element in the CreatePolicy, GetPolicy,
              and ListPolicies operations.

              For more information about managed policies, refer to Managed policies and
              inline policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
              in the IAM User Guide.
            properties:
              description:
                description: |-
                  A friendly description of the policy.

                  Typically used to store information about the permissions defined in the
                  policy. For example, "Grants access to production DynamoDB tables."

                  The policy description is immutable. After a value is assigned, it cannot
                  be changed.
                type: string
              name:
                description: |-
                  The friendly name of the policy.

                  IAM user, group, role, and policy names must be unique within the account.
                  Names are not distinguished by case. For example, you cannot create resources
                  named both "MyResource" and "myresource".

                  Regex Pattern: `^[\w+=,.@-]+$`
                type: string
              path:
                description: |-
                  The path for the policy.

                  For more information about paths, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  This parameter is optional. If it is not included, it defaults to a slash
                  (/).

                  This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
                  a string of characters consisting of either a forward slash (/) by itself
                  or a string that must begin and end with forward slashes. In addition, it
                  can contain any ASCII character from the ! (\u0021) through the DEL character
                  (\u007F), including most punctuation characters, digits, and upper and lowercased
                  letters.

                  You cannot use an asterisk (*) in the path name.

                  Regex Pattern: `^((/[A-Za-z0-9\.,\+@=_-]+)*)/$`
                type: string
              policyDocument:
                description: |-
                  The JSON policy document that you want to use as the content for the new
                  policy.

                  You must provide policies in JSON format in IAM. However, for CloudFormation
                  templates formatted in YAML, you can provide the policy in JSON or YAML format.
                  CloudFormation always converts a YAML policy to JSON format before submitting
                  it to IAM.

                  The maximum length of the policy document that you can pass in this operation,
                  including whitespace, is listed below. To view the maximum character counts
                  of a managed policy with no whitespaces, see IAM and STS character quotas
                  (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length).

                  To learn more about JSON policy grammar, see Grammar of the IAM JSON policy
                  language (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html)
                  in the IAM User Guide.

                  The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
                  parameter is a string of characters consisting of the following:

                    - Any printable ASCII character ranging from the space character (\u0020)
                      through the end of the ASCII character range

                    - The printable characters in the Basic Latin and Latin-1 Supplement character
                      set (through \u00FF)

                    - The special characters tab (\u0009), line feed (\u000A), and carriage
                      return (\u000D)

                  Regex Pattern: `^[\u0009\u000A\u000D\u0020-\u00FF]+$`
                type: string
              tags:
                description: |-
                  A list of tags that you want to attach to the new IAM customer managed policy.
                  Each tag consists of a key name and an associated value. For more information
                  about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                  in the IAM User Guide.

                  If any one of the tags is invalid or if you exceed the allowed maximum number
                  of tags, then the entire request fails and the resource is not created.
                items:
                  description: |-
                    A structure that represents user-provided metadata that can be associated
                    with an IAM resource. For more information about tagging, see Tagging IAM
                    resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                    in the IAM User Guide.
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  type: object
                type: array
            required:
            - name
            - policyDocument
            type: object
          status:
            description: PolicyStatus defines the observed state of Policy
            properties:
              ackResourceMetadata:
                description: |-
                  All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
                  that is used to contain resource sync state, account ownership,
                  constructed ARN for the resource
                properties:
                  arn:
                    description: |-
                      ARN is the Amazon Resource Name for the resource. This is a
                      globally-unique identifier and is set only by the ACK service controller
                      once the controller has orchestrated the creation of the resource OR
                      when it has verified that an "adopted" resource (a resource where the
                      ARN annotation was set by the Kubernetes user on the CR) exists and
                      matches the supplied CR's Spec field values.
                      https://github.com/aws/aws-controllers-k8s/issues/270
                    type: string
                  ownerAccountID:
                    description: |-
                      OwnerAccountID is the AWS Account ID of the account that owns the
                      backend AWS service API resource.
                    type: string
                  partition:
                    description: Partition is the AWS partition in which the resource
                      exists or will exist
                    type: string
                  region:
                    description: Region is the AWS region in which the resource exists
                      or will exist.
                    type: string
                required:
                - ownerAccountID
                - region
                type: object
              attachmentCount:
                description: |-
                  The number of entities (users, groups, and roles) that the policy is attached
                  to.
                format: int64
                type: integer
              conditions:
                description: |-
                  All CRs managed by ACK have a common `Status.Conditions` member that
                  contains a collection of `ackv1alpha1.Condition` objects that describe
                  the various terminal states of the CR and its backend AWS service API
                  resource
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service API resource
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the Condition
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              createDate:
                description: |-
                  The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
                  when the policy was created.
                format: date-time
                type: string
              defaultVersionID:
                description: |-
                  The identifier for the version of the policy that is set as the default version.

                  Regex Pattern: `^v[1-9][0-9]*(\.[A-Za-z0-9-]*)?$`
                type: string
              isAttachable:
                description: Specifies whether the policy can be attached to an IAM
                  user, group, or role.
                type: boolean
              permissionsBoundaryUsageCount:
                description: |-
                  The number of entities (users and roles) for which the policy is used to
                  set the permissions boundary.

                  For more information about permissions boundaries, see Permissions boundaries
                  for IAM identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
                  in the IAM User Guide.
                format: int64
                type: integer
              policyID:
                description: |-
                  The stable and unique string identifying the policy.

                  For more information about IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  Regex Pattern: `^[\w]+$`
                type: string
              updateDate:
                description: |-
                  The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
                  when the policy was last updated.

                  When a policy has only one version, this field contains the date and time
                  when the policy was created. When a policy has more than one version, this
                  field contains the date and time when the most recent policy version was
                  created.
                format: date-time
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/crds/iam.services.k8s.aws_roles.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: roles.iam.services.k8s.aws
spec:
  group: iam.services.k8s.aws
  names:
    kind: Role
    listKind: RoleList
    plural: roles
    singular: role
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Role is the Schema for the Roles API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: |-
              RoleSpec defines the desired state of Role.

              Contains information about an IAM role. This structure is returned as a response
              element in several API operations that interact with roles.
            properties:
              assumeRolePolicyDocument:
                description: |-
                  The trust relationship policy document that grants an entity permission to
                  assume the role.

                  In IAM, you must provide a JSON policy that has been converted to a string.
                  However, for CloudFormation templates formatted in YAML, you can provide
                  the policy in JSON or YAML format. CloudFormation always converts a YAML
                  policy to JSON format before submitting it to IAM.

                  The regex pattern (http://wikipedia.org/wiki/regex) used to validate this
                  parameter is a string of characters consisting of the following:

                    - Any printable ASCII character ranging from the space character (\u0020)
                      through the end of the ASCII character range

                    - The printable characters in the Basic Latin and Latin-1 Supplement character
                      set (through \u00FF)

                    - The special characters tab (\u0009), line feed (\u000A), and carriage
                      return (\u000D)

                  Upon success, the response includes the same trust policy in JSON format.

                  Regex Pattern: `^[\u0009\u000A\u000D\u0020-\u00FF]+$`
                type: string
              description:
                description: |-
                  A description of the role.

                  Regex Pattern: `^[\u0009\u000A\u000D\u0020-\u007E\u00A1-\u00FF]*$`
                type: string
              inlinePolicies:
                additionalProperties:
                  type: string
                type: object
              maxSessionDuration:
                description: |-
                  The maximum session duration (in seconds) that you want to set for the specified
                  role. If you do not specify a value for this setting, the default value of
                  one hour is applied. This setting can have a value from 1 hour to 12 hours.

                  Anyone who assumes the role from the CLI or API can use the DurationSeconds
                  API parameter or the duration-seconds CLI parameter to request a longer session.
                  The MaxSessionDuration setting determines the maximum duration that can be
                  requested using the DurationSeconds parameter. If users don't specify a value
                  for the DurationSeconds parameter, their security credentials are valid for
                  one hour by default. This applies when you use the AssumeRole* API operations
                  or the assume-role* CLI operations but does not apply when you use those
                  operations to create a console URL. For more information, see Using IAM roles
                  (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) in the
                  IAM User Guide.
                format: int64
                type: integer
              name:
                description: |-
                  The name of the role to create.

                  IAM user, group, role, and policy names must be unique within the account.
                  Names are not distinguished by case. For example, you cannot create resources
                  named both "MyResource" and "myresource".

                  This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
                  a string of characters consisting of upper and lowercase alphanumeric characters
                  with no spaces. You can also include any of the following characters: _+=,.@-

                  Regex Pattern: `^[\w+=,.@-]+$`
                type: string
              path:
                description: |-
                  The path to the role. For more information about paths, see IAM Identifiers
                  (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  This parameter is optional. If it is not included, it defaults to a slash
                  (/).

                  This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
                  a string of characters consisting of either a forward slash (/) by itself
                  or a string that must begin and end with forward slashes. In addition, it
                  can contain any ASCII character from the ! (\u0021) through the DEL character
                  (\u007F), including most punctuation characters, digits, and upper and lowercased
                  letters.

                  Regex Pattern: `^(\u002F)|(\u002F[\u0021-\u007E]+\u002F)$`
                type: string
              permissionsBoundary:
                description: |-
                  The ARN of the managed policy that is used to set the permissions boundary
                  for the role.

                  A permissions boundary policy defines the maximum permissions that identity-based
                  policies can grant to an entity, but does not grant permissions. Permissions
                  boundaries do not define the maximum permissions that a resource-based policy
                  can grant to an entity. To learn more, see Permissions boundaries for IAM
                  entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
                  in the IAM User Guide.

                  For more information about policy types, see Policy types (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types)
                  in the IAM User Guide.
                type: string
              permissionsBoundaryRef:
                description: "AWSResourceReferenceWrapper provides a wrapper around
                  *AWSResourceReference\ntype to provide more user friendly syntax
                  for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t
                  \ name: my-api"
                properties:
                  from:
                    description: |-
                      AWSResourceReference provides all the values necessary to reference another
                      k8s resource for finding the identifier(Id/ARN/Name)
                    properties:
                      name:
                        type: string
                      namespace:
                        type: string
                    type: object
                type: object
              policies:
                items:
                  type: string
                type: array
              policyRefs:
                items:
                  description: "AWSResourceReferenceWrapper provides a wrapper around
                    *AWSResourceReference\ntype to provide more user friendly syntax
                    for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t
                    \ name: my-api"
                  properties:
                    from:
                      description: |-
                        AWSResourceReference provides all the values necessary to reference another
                        k8s resource for finding the identifier(Id/ARN/Name)
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                      type: object
                  type: object
                type: array
              tags:
                description: |-
                  A list of tags that you want to attach to the new role. Each tag consists
                  of a key name and an associated value. For more information about tagging,
                  see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                  in the IAM User Guide.

                  If any one of the tags is invalid or if you exceed the allowed maximum number
                  of tags, then the entire request fails and the resource is not created.
                items:
                  description: |-
                    A structure that represents user-provided metadata that can be associated
                    with an IAM resource. For more information about tagging, see Tagging IAM
                    resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                    in the IAM User Guide.
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  type: object
                type: array
            required:
            - assumeRolePolicyDocument
            - name
            type: object
          status:
            description: RoleStatus defines the observed state of Role
            properties:
              ackResourceMetadata:
                description: |-
                  All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
                  that is used to contain resource sync state, account ownership,
                  constructed ARN for the resource
                properties:
                  arn:
                    description: |-
                      ARN is the Amazon Resource Name for the resource. This is a
                      globally-unique identifier and is set only by the ACK service controller
                      once the controller has orchestrated the creation of the resource OR
                      when it has verified that an "adopted" resource (a resource where the
                      ARN annotation was set by the Kubernetes user on the CR) exists and
                      matches the supplied CR's Spec field values.
                      https://github.com/aws/aws-controllers-k8s/issues/270
                    type: string
                  ownerAccountID:
                    description: |-
                      OwnerAccountID is the AWS Account ID of the account that owns the
                      backend AWS service API resource.
                    type: string
                  partition:
                    description: Partition is the AWS partition in which the resource
                      exists or will exist
                    type: string
                  region:
                    description: Region is the AWS region in which the resource exists
                      or will exist.
                    type: string
                required:
                - ownerAccountID
                - region
                type: object
              conditions:
                description: |-
                  All CRs managed by ACK have a common `Status.Conditions` member that
                  contains a collection of `ackv1alpha1.Condition` objects that describe
                  the various terminal states of the CR and its backend AWS service API
                  resource
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service API resource
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the Condition
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              createDate:
                description: |-
                  The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
                  when the role was created.
                format: date-time
                type: string
              roleID:
                description: |-
                  The stable and unique string identifying the role. For more information about
                  IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  Regex Pattern: `^[\w]+$`
                type: string
              roleLastUsed:
                description: |-
                  Contains information about the last time that an IAM role was used. This
                  includes the date and time and the Region in which the role was last used.
                  Activity is only reported for the trailing 400 days. This period can be shorter
                  if your Region began supporting these features within the last year. The
                  role might have been used more than 400 days ago. For more information, see
                  Regions where data is tracked (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#access-advisor_tracking-period)
                  in the IAM user Guide.
                properties:
                  lastUsedDate:
                    format: date-time
                    type: string
                  region:
                    type: string
                type: object
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/crds/iam.services.k8s.aws_servicelinkedroles.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: servicelinkedroles.iam.services.k8s.aws
spec:
  group: iam.services.k8s.aws
  names:
    kind: ServiceLinkedRole
    listKind: ServiceLinkedRoleList
    plural: servicelinkedroles
    singular: servicelinkedrole
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: ServiceLinkedRole is the Schema for the ServiceLinkedRoles API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: ServiceLinkedRoleSpec defines the desired state of ServiceLinkedRole.
            properties:
              awsServiceName:
                description: |-
                  The service principal for the Amazon Web Services service to which this role
                  is attached. You use a string similar to a URL but without the http:// in
                  front. For example: elasticbeanstalk.amazonaws.com.

                  Service principals are unique and case-sensitive. To find the exact service
                  principal for your service-linked role, see Amazon Web Services services
                  that work with IAM (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
                  in the IAM User Guide. Look for the services that have Yes in the Service-Linked
                  Role column. Choose the Yes link to view the service-linked role documentation
                  for that service.

                  Regex Pattern: `^[\w+=,.@-]+$`
                type: string
                x-kubernetes-validations:
                - message: Value is immutable once set
                  rule: self == oldSelf
              customSuffix:
                description: |-
                  A string that you provide, which is combined with the service-provided prefix
                  to form the complete role name. If you make multiple requests for the same
                  service, then you must supply a different CustomSuffix for each request.
                  Otherwise the request fails with a duplicate role name error. For example,
                  you could add -1 or -debug to the suffix.

                  Some services do not support the CustomSuffix parameter. If you provide an
                  optional suffix and the operation fails, try the operation again without
                  the suffix.

                  Regex Pattern: `^[\w+=,.@-]+$`
                type: string
                x-kubernetes-validations:
                - message: Value is immutable once set
                  rule: self == oldSelf
              description:
                description: |-
                  The description of the role.

                  Regex Pattern: `^[\u0009\u000A\u000D\u0020-\u007E\u00A1-\u00FF]*$`
                type: string
            required:
            - awsServiceName
            type: object
          status:
            description: ServiceLinkedRoleStatus defines the observed state of ServiceLinkedRole
            properties:
              ackResourceMetadata:
                description: |-
                  All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
                  that is used to contain resource sync state, account ownership,
                  constructed ARN for the resource
                properties:
                  arn:
                    description: |-
                      ARN is the Amazon Resource Name for the resource. This is a
                      globally-unique identifier and is set only by the ACK service controller
                      once the controller has orchestrated the creation of the resource OR
                      when it has verified that an "adopted" resource (a resource where the
                      ARN annotation was set by the Kubernetes user on the CR) exists and
                      matches the supplied CR's Spec field values.
                      https://github.com/aws/aws-controllers-k8s/issues/270
                    type: string
                  ownerAccountID:
                    description: |-
                      OwnerAccountID is the AWS Account ID of the account that owns the
                      backend AWS service API resource.
                    type: string
                  partition:
                    description: Partition is the AWS partition in which the resource
                      exists or will exist
                    type: string
                  region:
                    description: Region is the AWS region in which the resource exists
                      or will exist.
                    type: string
                required:
                - ownerAccountID
                - region
                type: object
              assumeRolePolicyDocument:
                description: |-
                  The policy that grants an entity permission to assume the role.

                  Regex Pattern: `^[\u0009\u000A\u000D\u0020-\u00FF]+$`
                type: string
              conditions:
                description: |-
                  All CRs managed by ACK have a common `Status.Conditions` member that
                  contains a collection of `ackv1alpha1.Condition` objects that describe
                  the various terminal states of the CR and its backend AWS service API
                  resource
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service API resource
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the Condition
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              createDate:
                description: |-
                  The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
                  when the role was created.
                format: date-time
                type: string
              maxSessionDuration:
                description: |-
                  The maximum session duration (in seconds) for the specified role. Anyone
                  who uses the CLI, or API to assume the role can specify the duration using
                  the optional DurationSeconds API parameter or duration-seconds CLI parameter.
                format: int64
                type: integer
              path:
                description: |-
                  The path to the role. For more information about paths, see IAM identifiers
                  (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  Regex Pattern: `^(\u002F)|(\u002F[\u0021-\u007E]+\u002F)$`
                type: string
              permissionsBoundary:
                description: |-
                  The ARN of the policy used to set the permissions boundary for the role.

                  For more information about permissions boundaries, see Permissions boundaries
                  for IAM identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
                  in the IAM User Guide.
                properties:
                  permissionsBoundaryARN:
                    description: |-
                      The Amazon Resource Name (ARN). ARNs are unique identifiers for Amazon Web
                      Services resources.

                      For more information about ARNs, go to Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
                      in the Amazon Web Services General Reference.
                    type: string
                  permissionsBoundaryType:
                    type: string
                type: object
              roleID:
                description: |-
                  The stable and unique string identifying the role. For more information about
                  IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  Regex Pattern: `^[\w]+$`
                type: string
              roleLastUsed:
                description: |-
                  Contains information about the last time that an IAM role was used. This
                  includes the date and time and the Region in which the role was last used.
                  Activity is only reported for the trailing 400 days. This period can be shorter
                  if your Region began supporting these features within the last year. The
                  role might have been used more than 400 days ago. For more information, see
                  Regions where data is tracked (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#access-advisor_tracking-period)
                  in the IAM user Guide.
                properties:
                  lastUsedDate:
                    format: date-time
                    type: string
                  region:
                    type: string
                type: object
              roleName:
                description: |-
                  The friendly name that identifies the role.

                  Regex Pattern: `^[\w+=,.@-]+$`
                type: string
              tags:
                description: |-
                  A list of tags that are attached to the role. For more information about
                  tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                  in the IAM User Guide.
                items:
                  description: |-
                    A structure that represents user-provided metadata that can be associated
                    with an IAM resource. For more information about tagging, see Tagging IAM
                    resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                    in the IAM User Guide.
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  type: object
                type: array
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/crds/iam.services.k8s.aws_users.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: users.iam.services.k8s.aws
spec:
  group: iam.services.k8s.aws
  names:
    kind: User
    listKind: UserList
    plural: users
    singular: user
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: User is the Schema for the Users API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: |-
              UserSpec defines the desired state of User.

              Contains information about an IAM user entity.

              This data type is used as a response element in the following operations:

                - CreateUser

                - GetUser

                - ListUsers
            properties:
              inlinePolicies:
                additionalProperties:
                  type: string
                type: object
              name:
                description: |-
                  The name of the user to create.

                  IAM user, group, role, and policy names must be unique within the account.
                  Names are not distinguished by case. For example, you cannot create resources
                  named both "MyResource" and "myresource".

                  Regex Pattern: `^[\w+=,.@-]+$`
                type: string
              path:
                description: |-
                  The path for the user name. For more information about paths, see IAM identifiers
                  (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  This parameter is optional. If it is not included, it defaults to a slash
                  (/).

                  This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
                  a string of characters consisting of either a forward slash (/) by itself
                  or a string that must begin and end with forward slashes. In addition, it
                  can contain any ASCII character from the ! (\u0021) through the DEL character
                  (\u007F), including most punctuation characters, digits, and upper and lowercased
                  letters.

                  Regex Pattern: `^(\u002F)|(\u002F[\u0021-\u007E]+\u002F)$`
                type: string
              permissionsBoundary:
                description: |-
                  The ARN of the managed policy that is used to set the permissions boundary
                  for the user.

                  A permissions boundary policy defines the maximum permissions that identity-based
                  policies can grant to an entity, but does not grant permissions. Permissions
                  boundaries do not define the maximum permissions that a resource-based policy
                  can grant to an entity. To learn more, see Permissions boundaries for IAM
                  entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
                  in the IAM User Guide.

                  For more information about policy types, see Policy types (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types)
                  in the IAM User Guide.
                type: string
              permissionsBoundaryRef:
                description: "AWSResourceReferenceWrapper provides a wrapper around
                  *AWSResourceReference\ntype to provide more user friendly syntax
                  for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t
                  \ name: my-api"
                properties:
                  from:
                    description: |-
                      AWSResourceReference provides all the values necessary to reference another
                      k8s resource for finding the identifier(Id/ARN/Name)
                    properties:
                      name:
                        type: string
                      namespace:
                        type: string
                    type: object
                type: object
              policies:
                items:
                  type: string
                type: array
              policyRefs:
                items:
                  description: "AWSResourceReferenceWrapper provides a wrapper around
                    *AWSResourceReference\ntype to provide more user friendly syntax
                    for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t
                    \ name: my-api"
                  properties:
                    from:
                      description: |-
                        AWSResourceReference provides all the values necessary to reference another
                        k8s resource for finding the identifier(Id/ARN/Name)
                      properties:
                        name:
                          type: string
                        namespace:
                          type: string
                      type: object
                  type: object
                type: array
              tags:
                description: |-
                  A list of tags that you want to attach to the new user. Each tag consists
                  of a key name and an associated value. For more information about tagging,
                  see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                  in the IAM User Guide.

                  If any one of the tags is invalid or if you exceed the allowed maximum number
                  of tags, then the entire request fails and the resource is not created.
                items:
                  description: |-
                    A structure that represents user-provided metadata that can be associated
                    with an IAM resource. For more information about tagging, see Tagging IAM
                    resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)
                    in the IAM User Guide.
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                  type: object
                type: array
            required:
            - name
            type: object
          status:
            description: UserStatus defines the observed state of User
            properties:
              ackResourceMetadata:
                description: |-
                  All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
                  that is used to contain resource sync state, account ownership,
                  constructed ARN for the resource
                properties:
                  arn:
                    description: |-
                      ARN is the Amazon Resource Name for the resource. This is a
                      globally-unique identifier and is set only by the ACK service controller
                      once the controller has orchestrated the creation of the resource OR
                      when it has verified that an "adopted" resource (a resource where the
                      ARN annotation was set by the Kubernetes user on the CR) exists and
                      matches the supplied CR's Spec field values.
                      https://github.com/aws/aws-controllers-k8s/issues/270
                    type: string
                  ownerAccountID:
                    description: |-
                      OwnerAccountID is the AWS Account ID of the account that owns the
                      backend AWS service API resource.
                    type: string
                  partition:
                    description: Partition is the AWS partition in which the resource
                      exists or will exist
                    type: string
                  region:
                    description: Region is the AWS region in which the resource exists
                      or will exist.
                    type: string
                required:
                - ownerAccountID
                - region
                type: object
              conditions:
                description: |-
                  All CRs managed by ACK have a common `Status.Conditions` member that
                  contains a collection of `ackv1alpha1.Condition` objects that describe
                  the various terminal states of the CR and its backend AWS service API
                  resource
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service API resource
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the Condition
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              createDate:
                description: |-
                  The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
                  when the user was created.
                format: date-time
                type: string
              passwordLastUsed:
                description: |-
                  The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
                  when the user's password was last used to sign in to an Amazon Web Services
                  website. For a list of Amazon Web Services websites that capture a user's
                  last sign-in time, see the Credential reports (https://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
                  topic in the IAM User Guide. If a password is used more than once in a five-minute
                  span, only the first use is returned in this field. If the field is null
                  (no value), then it indicates that they never signed in with a password.
                  This can be because:

                     * The user never had a password.

                     * A password exists but has not been used since IAM started tracking this
                     information on October 20, 2014.

                  A null value does not mean that the user never had a password. Also, if the
                  user does not currently have a password but had one in the past, then this
                  field contains the date and time the most recent password was used.

                  This value is returned only in the GetUser and ListUsers operations.
                format: date-time
                type: string
              userID:
                description: |-
                  The stable and unique string identifying the user. For more information about
                  IDs, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
                  in the IAM User Guide.

                  Regex Pattern: `^[\w]+$`
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/crds/services.k8s.aws_fieldexports.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: fieldexports.services.k8s.aws
spec:
  group: services.k8s.aws
  names:
    kind: FieldExport
    listKind: FieldExportList
    plural: fieldexports
    singular: fieldexport
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: FieldExport is the schema for the FieldExport API.
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: FieldExportSpec defines the desired state of the FieldExport.
            properties:
              from:
                description: |-
                  ResourceFieldSelector provides the values necessary to identify an individual
                  field on an individual K8s resource.
                properties:
                  path:
                    type: string
                  resource:
                    description: |-
                      NamespacedResource provides all the values necessary to identify an ACK
                      resource of a given type (within the same namespace as the custom resource
                      containing this type).
                    properties:
                      group:
                        type: string
                      kind:
                        type: string
                      name:
                        type: string
                    required:
                    - group
                    - kind
                    - name
                    type: object
                required:
                - path
                - resource
                type: object
              to:
                description: |-
                  FieldExportTarget provides the values necessary to identify the
                  output path for a field export.
                properties:
                  key:
                    description: Key overrides the default value (`<namespace>.<FieldExport-resource-name>`)
                      for the FieldExport target
                    type: string
                  kind:
                    description: |-
                      FieldExportOutputType represents all types that can be produced by a field
                      export operation
                    enum:
                    - configmap
                    - secret
                    type: string
                  name:
                    type: string
                  namespace:
                    description: Namespace is marked as optional, so we cannot compose
                      `NamespacedName`
                    type: string
                required:
                - kind
                - name
                type: object
            required:
            - from
            - to
            type: object
          status:
            description: FieldExportStatus defines the observed status of the FieldExport.
            properties:
              conditions:
                description: |-
                  A collection of `ackv1alpha1.Condition` objects that describe the various
                  recoverable states of the field CR
                items:
                  description: |-
                    Condition is the common struct used by all CRDs managed by ACK service
                    controllers to indicate terminal states  of the CR and its backend AWS
                    service API resource
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type is the type of the Condition
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
            required:
            - conditions
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/crds/services.k8s.aws_iamroleselectors.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: iamroleselectors.services.k8s.aws
spec:
  group: services.k8s.aws
  names:
    kind: IAMRoleSelector
    listKind: IAMRoleSelectorList
    plural: iamroleselectors
    singular: iamroleselector
  scope: Cluster
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: IAMRoleSelector is the schema for the IAMRoleSelector API.
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            properties:
              arn:
                type: string
                x-kubernetes-validations:
                - message: Value is immutable once set
                  rule: self == oldSelf
              namespaceSelector:
                description: IAMRoleSelectorSpec defines the desired state of IAMRoleSelector
                properties:
                  labelSelector:
                    description: LabelSelector is a label query over a set of resources.
                    properties:
                      matchLabels:
                        additionalProperties:
                          type: string
                        type: object
                    required:
                    - matchLabels
                    type: object
                  names:
                    items:
                      type: string
                    type: array
                required:
                - names
                type: object
              resourceLabelSelector:
                description: LabelSelector is a label query over a set of resources.
                properties:
                  matchLabels:
                    additionalProperties:
                      type: string
                    type: object
                required:
                - matchLabels
                type: object
              resourceTypeSelector:
                items:
                  properties:
                    group:
                      type: string
                    kind:
                      type: string
                    version:
                      type: string
                  required:
                  - group
                  - kind
                  - version
                  type: object
                type: array
            required:
            - arn
            type: object
          status:
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}

---
# Source: iam-chart/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
  name: ack-iam-controller
  namespace: ack-system
  annotations:
---
# Source: iam-chart/templates/caches-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: ack-iam-iam-chart-namespaces-cache
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
rules:
- apiGroups:
  - ""
  resources:
  - namespaces
  verbs:
  - get
  - list
  - watch
---
# Source: iam-chart/templates/cluster-role-controller.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: ack-iam-iam-chart
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
rules:
- apiGroups:
  - ""
  resources:
  - configmaps
  - secrets
  verbs:
  - get
  - list
  - patch
  - watch
- apiGroups:
  - ""
  resources:
  - namespaces
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - iam.services.k8s.aws
  resources:
  - groups
  - instanceprofiles
  - openidconnectproviders
  - policies
  - roles
  - servicelinkedroles
  - users
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - iam.services.k8s.aws
  resources:
  - groups/status
  - instanceprofiles/status
  - openidconnectproviders/status
  - policies/status
  - roles/status
  - servicelinkedroles/status
  - users/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - services.k8s.aws
  resources:
  - fieldexports
  - iamroleselectors
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - services.k8s.aws
  resources:
  - fieldexports/status
  - iamroleselectors/status
  verbs:
  - get
  - patch
  - update
---
# Source: iam-chart/templates/caches-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: ack-iam-iam-chart-namespaces-cache
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
roleRef:
  kind: ClusterRole
  apiGroup: rbac.authorization.k8s.io
  name: ack-iam-iam-chart-namespaces-cache
subjects:
- kind: ServiceAccount
  name: ack-iam-controller
  namespace: ack-system
---
# Source: iam-chart/templates/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: ack-iam-iam-chart-rolebinding
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
roleRef:
  kind: ClusterRole
  apiGroup: rbac.authorization.k8s.io
  name: ack-iam-iam-chart
subjects:
- kind: ServiceAccount
  name: ack-iam-controller
  namespace: ack-system
---
# Source: iam-chart/templates/caches-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: ack-iam-iam-chart-configmaps-cache
  namespace: ack-system
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
rules:
- apiGroups:
  - ""
  resources:
  - configmaps
  verbs:
  - get
  - list
  - watch
---
# Source: iam-chart/templates/role-reader.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  creationTimestamp: null
  name: ack-iam-iam-chart-reader
  namespace: ack-system
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
rules:
- apiGroups:
  - iam.services.k8s.aws
  resources:
  - groups
  - instanceprofiles
  - openidconnectproviders
  - policies
  - roles
  - servicelinkedroles
  - users
  verbs:
  - get
  - list
  - watch
---
# Source: iam-chart/templates/role-writer.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  creationTimestamp: null
  name: ack-iam-iam-chart-writer
  namespace: ack-system
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
rules:
- apiGroups:
  - iam.services.k8s.aws
  resources:
  - groups
  - instanceprofiles
  - openidconnectproviders
  - policies
  - roles
  - servicelinkedroles
  - users
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - iam.services.k8s.aws
  resources:
  - groups
  - instanceprofiles
  - openidconnectproviders
  - policies
  - roles
  - servicelinkedroles
  - users
  verbs:
  - get
  - patch
  - update
---
# Source: iam-chart/templates/caches-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: ack-iam-iam-chart-configmaps-cache
  namespace: ack-system
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
roleRef:
  kind: Role
  apiGroup: rbac.authorization.k8s.io
  name: ack-iam-iam-chart-configmaps-cache
subjects:
- kind: ServiceAccount
  name: ack-iam-controller
  namespace: ack-system
---
# Source: iam-chart/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ack-iam-iam-chart
  namespace: ack-system
  labels:
    app.kubernetes.io/name: iam-chart
    app.kubernetes.io/instance: ack-iam
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/version: "1.7.3"
    k8s-app: iam-chart
    helm.sh/chart: iam-chart-1.7.3
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: iam-chart
      app.kubernetes.io/instance: ack-iam
  template:
    metadata:
      labels:
        app.kubernetes.io/name: iam-chart
        app.kubernetes.io/instance: ack-iam
        app.kubernetes.io/managed-by: Helm
        k8s-app: iam-chart
    spec:
      serviceAccountName: ack-iam-controller
      containers:
      - command:
        - ./bin/controller
        args:
        - --aws-region
        - "$(AWS_REGION)"
        - --aws-endpoint-url
        - "$(AWS_ENDPOINT_URL)"
        - --log-level
        - "$(ACK_LOG_LEVEL)"
        - --resource-tags
        - "$(ACK_RESOURCE_TAGS)"
        - --watch-namespace
        - "$(ACK_WATCH_NAMESPACE)"
        - --watch-selectors
        - "$(ACK_WATCH_SELECTORS)"
        - --reconcile-resources
        - "$(RECONCILE_RESOURCES)"
        - --deletion-policy
        - "$(DELETION_POLICY)"
        - --reconcile-default-resync-seconds
        - "$(RECONCILE_DEFAULT_RESYNC_SECONDS)"
        - --reconcile-default-max-concurrent-syncs
        - "$(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS)"
        - --feature-gates
        - "$(FEATURE_GATES)"
        - --enable-carm=true
        - --enable-cross-namespace=true
        image: public.ecr.aws/aws-controllers-k8s/iam-controller:1.7.3
        imagePullPolicy: IfNotPresent
        name: controller
        ports:
          - name: http
            containerPort: 8080
        resources:
          limits:
            cpu: 100m
            memory: 128Mi
          requests:
            cpu: 50m
            memory: 64Mi
        env:
        - name: ACK_SYSTEM_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: AWS_REGION
          value: confighubplaceholder
        - name: AWS_ENDPOINT_URL
          value: ""
        - name: AWS_IDENTITY_ENDPOINT_URL
          value: ""
        - name: ACK_WATCH_NAMESPACE
          value:
        - name: ACK_WATCH_SELECTORS
          value:
        - name: RECONCILE_RESOURCES
          value: "Group,InstanceProfile,OpenIDConnectProvider,Policy,Role,ServiceLinkedRole,User"
        - name: DELETION_POLICY
          value: retain
        - name: LEADER_ELECTION_NAMESPACE
          value: ""
        - name: ACK_LOG_LEVEL
          value: "info"
        - name: ACK_RESOURCE_TAGS
          value: "services.k8s.aws/controller-version=%CONTROLLER_SERVICE%-%CONTROLLER_VERSION%,services.k8s.aws/namespace=%K8S_NAMESPACE%,app.kubernetes.io/managed-by=%MANAGED_BY%,kro.run/kro-version=%KRO_VERSION%"
        - name: RECONCILE_DEFAULT_RESYNC_SECONDS
          value: "36000"
        - name: RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS
          value: "1"
        - name: FEATURE_GATES
          value: IAMRoleSelector=false,ReadOnlyResources=true,ResourceAdoption=true,ServiceLevelCARM=false,TeamLevelCARM=false
        - name: AWS_SHARED_CREDENTIALS_FILE
          value: /var/run/secrets/aws/credentials
        - name: AWS_PROFILE
          value: default
        volumeMounts:
          - name: aws-creds
            mountPath: /var/run/secrets/aws
            readOnly: true
        securityContext:
          allowPrivilegeEscalation: false
          privileged: false
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          capabilities:
            drop:
              - ALL
        livenessProbe:
          httpGet:
            path: /healthz
            port: 8081
          initialDelaySeconds: 15
          periodSeconds: 20
        readinessProbe:
          httpGet:
            path: /readyz
            port: 8081
          initialDelaySeconds: 5
          periodSeconds: 10
      securityContext:
        seccompProfile:
          type: RuntimeDefault
      terminationGracePeriodSeconds: 10
      nodeSelector:
        kubernetes.io/os: linux
      hostIPC: false
      hostPID: false
      hostNetwork: false
      dnsPolicy: ClusterFirst
      volumes:
        - name: aws-creds
          secret:
            secretName: aws-creds
