gcp.spanner-database-instance

GCP resource: https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances.databases

Filters

iam-policy

Overrides the base implementation to process spanner database resources correctly.

properties:
  doc:
    additionalProperties: false
    properties:
      default:
        type: object
      key:
        type: string
      op:
        enum:
        - eq
        - equal
        - ne
        - not-equal
        - gt
        - greater-than
        - ge
        - gte
        - le
        - lte
        - lt
        - less-than
        - glob
        - regex
        - regex-case
        - in
        - ni
        - not-in
        - contains
        - difference
        - intersect
        - mod
      tag_key_transforms:
        items:
          type: string
        type: array
      type:
        enum:
        - value
      value:
        oneOf:
        - type: array
        - type: string
        - type: boolean
        - type: number
        - type: 'null'
      value_from:
        additionalProperties: 'False'
        properties:
          expr:
            oneOf:
            - type: integer
            - type: string
          format:
            enum:
            - csv
            - json
            - txt
            - csv2dict
          headers:
            patternProperties:
              ? ''
              : type: string
            type: object
          query:
            type: string
          url:
            type: string
        required:
        - url
        type: object
      value_path:
        type: string
      value_regex:
        type: string
      value_type:
        enum:
        - age
        - integer
        - expiration
        - normalize
        - size
        - cidr
        - cidr_size
        - swap
        - resource_count
        - expr
        - unique_size
        - date
        - version
        - float
    type: object
  type:
    enum:
    - iam-policy
  user-role:
    additionalProperties: false
    properties:
      has:
        type: boolean
      role:
        oneOf:
        - type: string
        - additionalProperties: false
          properties:
            default:
              type: object
            key:
              type: string
            op:
              enum:
              - eq
              - equal
              - ne
              - not-equal
              - gt
              - greater-than
              - ge
              - gte
              - le
              - lte
              - lt
              - less-than
              - glob
              - regex
              - regex-case
              - in
              - ni
              - not-in
              - contains
              - difference
              - intersect
              - mod
            tag_key_transforms:
              items:
                type: string
              type: array
            type:
              enum:
              - value
            value:
              oneOf:
              - type: array
              - type: string
              - type: boolean
              - type: number
              - type: 'null'
            value_from:
              additionalProperties: 'False'
              properties:
                expr:
                  oneOf:
                  - type: integer
                  - type: string
                format:
                  enum:
                  - csv
                  - json
                  - txt
                  - csv2dict
                headers:
                  patternProperties:
                    ? ''
                    : type: string
                  type: object
                query:
                  type: string
                url:
                  type: string
              required:
              - url
              type: object
            value_path:
              type: string
            value_regex:
              type: string
            value_type:
              enum:
              - age
              - integer
              - expiration
              - normalize
              - size
              - cidr
              - cidr_size
              - swap
              - resource_count
              - expr
              - unique_size
              - date
              - version
              - float
          type: object
      user:
        oneOf:
        - type: string
        - additionalProperties: false
          properties:
            default:
              type: object
            key:
              type: string
            op:
              enum:
              - eq
              - equal
              - ne
              - not-equal
              - gt
              - greater-than
              - ge
              - gte
              - le
              - lte
              - lt
              - less-than
              - glob
              - regex
              - regex-case
              - in
              - ni
              - not-in
              - contains
              - difference
              - intersect
              - mod
            tag_key_transforms:
              items:
                type: string
              type: array
            type:
              enum:
              - value
            value:
              oneOf:
              - type: array
              - type: string
              - type: boolean
              - type: number
              - type: 'null'
            value_from:
              additionalProperties: 'False'
              properties:
                expr:
                  oneOf:
                  - type: integer
                  - type: string
                format:
                  enum:
                  - csv
                  - json
                  - txt
                  - csv2dict
                headers:
                  patternProperties:
                    ? ''
                    : type: string
                  type: object
                query:
                  type: string
                url:
                  type: string
              required:
              - url
              type: object
            value_path:
              type: string
            value_regex:
              type: string
            value_type:
              enum:
              - age
              - integer
              - expiration
              - normalize
              - size
              - cidr
              - cidr_size
              - swap
              - resource_count
              - expr
              - unique_size
              - date
              - version
              - float
          type: object
    required:
    - user
    - role
    type: object
required:
- type

Permissions - spanner.databases.getIamPolicy

Actions

delete

The action is used for databases deleting.

GCP action is https://cloud.google.com/spanner/docs

/reference/rest/v1/projects.instances.databases/dropDatabase.

Example:

policies:
  - name: gcp-spanner-instance-databases-delete
    resource: gcp.spanner-database-instance
    filters:
      - type: value
        key: name
        op: contains
        value: dev
    actions:
      - type: delete
properties:
  type:
    enum:
    - delete
required:
- type

Permissions - spanner.databases.drop