generated/google/apis/cloudresourcemanager_v1beta1/classes.rb in google-api-client-0.10.2 vs generated/google/apis/cloudresourcemanager_v1beta1/classes.rb in google-api-client-0.10.3

- old
+ new

@@ -20,10 +20,69 @@ module Google module Apis module CloudresourcemanagerV1beta1 + # Associates `members` with a `role`. + class Binding + include Google::Apis::Core::Hashable + + # Specifies the identities requesting access for a Cloud Platform resource. + # `members` can have the following values: + # * `allUsers`: A special identifier that represents anyone who is + # on the internet; with or without a Google account. + # * `allAuthenticatedUsers`: A special identifier that represents anyone + # who is authenticated with a Google account or a service account. + # * `user:`emailid``: An email address that represents a specific Google + # account. For example, `alice@gmail.com` or `joe@example.com`. + # * `serviceAccount:`emailid``: An email address that represents a service + # account. For example, `my-other-app@appspot.gserviceaccount.com`. + # * `group:`emailid``: An email address that represents a Google group. + # For example, `admins@example.com`. + # * `domain:`domain``: A Google Apps domain name that represents all the + # users of that domain. For example, `google.com` or `example.com`. + # Corresponds to the JSON property `members` + # @return [Array<String>] + attr_accessor :members + + # Role that is assigned to `members`. + # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + # Required + # Corresponds to the JSON property `role` + # @return [String] + attr_accessor :role + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @members = args[:members] if args.key?(:members) + @role = args[:role] if args.key?(:role) + end + end + + # A generic empty message that you can re-use to avoid defining duplicated + # empty messages in your APIs. A typical example is to use it as the request + # or the response type of an API method. For instance: + # service Foo ` + # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); + # ` + # The JSON representation for `Empty` is empty JSON object ````. + class Empty + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + # The request sent to the UndeleteProject # method. class UndeleteProjectRequest include Google::Apis::Core::Hashable @@ -34,33 +93,70 @@ # Update properties of this object def update!(**args) end end - # The request sent to the ClearOrgPolicy method. - class ClearOrgPolicyRequest + # The root node in the resource hierarchy to which a particular entity's + # (e.g., company) resources belong. + class Organization include Google::Apis::Core::Hashable - # The current version, for concurrency control. Not sending an `etag` - # will cause the `Policy` to be cleared blindly. - # Corresponds to the JSON property `etag` + # Timestamp when the Organization was created. Assigned by the server. + # @OutputOnly + # Corresponds to the JSON property `creationTime` # @return [String] - attr_accessor :etag + attr_accessor :creation_time - # Name of the `Constraint` of the `Policy` to clear. - # Corresponds to the JSON property `constraint` + # The entity that owns an Organization. The lifetime of the Organization and + # all of its descendants are bound to the `OrganizationOwner`. If the + # `OrganizationOwner` is deleted, the Organization and all its descendants will + # be deleted. + # Corresponds to the JSON property `owner` + # @return [Google::Apis::CloudresourcemanagerV1beta1::OrganizationOwner] + attr_accessor :owner + + # Output Only. The resource name of the organization. This is the + # organization's relative path in the API. Its format is + # "organizations/[organization_id]". For example, "organizations/1234". + # Corresponds to the JSON property `name` # @return [String] - attr_accessor :constraint + attr_accessor :name + # An immutable id for the Organization that is assigned on creation. This + # should be omitted when creating a new Organization. + # This field is read-only. + # This field is deprecated and will be removed in v1. Use name instead. + # Corresponds to the JSON property `organizationId` + # @return [String] + attr_accessor :organization_id + + # The organization's current lifecycle state. Assigned by the server. + # @OutputOnly + # Corresponds to the JSON property `lifecycleState` + # @return [String] + attr_accessor :lifecycle_state + + # A friendly string to be used to refer to the Organization in the UI. + # Assigned by the server, set to the primary domain of the G Suite + # customer that owns the organization. + # @OutputOnly + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @etag = args[:etag] if args.key?(:etag) - @constraint = args[:constraint] if args.key?(:constraint) + @creation_time = args[:creation_time] if args.key?(:creation_time) + @owner = args[:owner] if args.key?(:owner) + @name = args[:name] if args.key?(:name) + @organization_id = args[:organization_id] if args.key?(:organization_id) + @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state) + @display_name = args[:display_name] if args.key?(:display_name) end end # A status object which is used as the `metadata` field for the Operation # returned by CreateProject. It provides insight for when significant phases of @@ -97,15 +193,12 @@ @create_time = args[:create_time] if args.key?(:create_time) @gettable = args[:gettable] if args.key?(:gettable) end end - # A `Constraint` that is either enforced or not. - # For example a constraint `constraints/compute.disableSerialPortAccess`. - # If it is enforced on a VM instance, serial port connections will not be - # opened to that instance. - class BooleanConstraint + # Request message for `GetIamPolicy` method. + class GetIamPolicyRequest include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end @@ -133,42 +226,93 @@ def update!(**args) @permissions = args[:permissions] if args.key?(:permissions) end end - # Request message for `GetIamPolicy` method. - class GetIamPolicyRequest + # The entity that owns an Organization. The lifetime of the Organization and + # all of its descendants are bound to the `OrganizationOwner`. If the + # `OrganizationOwner` is deleted, the Organization and all its descendants will + # be deleted. + class OrganizationOwner include Google::Apis::Core::Hashable + # The Google for Work customer id used in the Directory API. + # Corresponds to the JSON property `directoryCustomerId` + # @return [String] + attr_accessor :directory_customer_id + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id) end end - # The entity that owns an Organization. The lifetime of the Organization and - # all of its descendants are bound to the `OrganizationOwner`. If the - # `OrganizationOwner` is deleted, the Organization and all its descendants will - # be deleted. - class OrganizationOwner + # Response from the GetAncestry method. + class GetAncestryResponse include Google::Apis::Core::Hashable - # The Google for Work customer id used in the Directory API. - # Corresponds to the JSON property `directoryCustomerId` + # Ancestors are ordered from bottom to top of the resource hierarchy. The + # first ancestor is the project itself, followed by the project's parent, + # etc. + # Corresponds to the JSON property `ancestor` + # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Ancestor>] + attr_accessor :ancestor + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ancestor = args[:ancestor] if args.key?(:ancestor) + end + end + + # Provides the configuration for logging a type of permissions. + # Example: + # ` + # "audit_log_configs": [ + # ` + # "log_type": "DATA_READ", + # "exempted_members": [ + # "user:foo@gmail.com" + # ] + # `, + # ` + # "log_type": "DATA_WRITE", + # ` + # ] + # ` + # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting + # foo@gmail.com from DATA_READ logging. + class AuditLogConfig + include Google::Apis::Core::Hashable + + # Specifies the identities that do not cause logging for this type of + # permission. + # Follows the same format of Binding.members. + # Corresponds to the JSON property `exemptedMembers` + # @return [Array<String>] + attr_accessor :exempted_members + + # The log type that this config enables. + # Corresponds to the JSON property `logType` # @return [String] - attr_accessor :directory_customer_id + attr_accessor :log_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id) + @exempted_members = args[:exempted_members] if args.key?(:exempted_members) + @log_type = args[:log_type] if args.key?(:log_type) end end # A page of the response received from the # ListProjects @@ -206,16 +350,37 @@ @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @projects = args[:projects] if args.key?(:projects) end end + # The request sent to the + # GetAncestry + # method. + class GetAncestryRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + # A Project is a high-level Google Cloud Platform entity. It is a # container for ACLs, APIs, App Engine Apps, VMs, and other # Google Cloud Platform resources. class Project include Google::Apis::Core::Hashable + # The Project lifecycle state. + # Read-only. + # Corresponds to the JSON property `lifecycleState` + # @return [String] + attr_accessor :lifecycle_state + # The number uniquely identifying the project. # Example: <code>415104041262</code> # Read-only. # Corresponds to the JSON property `projectNumber` # @return [String] @@ -227,16 +392,10 @@ # a Compute Engine instance, a Cloud SQL database, and so on. # Corresponds to the JSON property `parent` # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId] attr_accessor :parent - # Creation time. - # Read-only. - # Corresponds to the JSON property `createTime` - # @return [String] - attr_accessor :create_time - # The labels associated with this Project. # Label keys must be between 1 and 63 characters long and must conform # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. # Label values must be between 0 and 63 characters long and must conform # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. @@ -247,10 +406,16 @@ # Read-write. # Corresponds to the JSON property `labels` # @return [Hash<String,String>] attr_accessor :labels + # Creation time. + # Read-only. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + # The user-assigned display name of the Project. # It must be 4 to 30 characters. # Allowed characters are: lowercase and uppercase letters, numbers, # hyphen, single-quote, double-quote, space, and exclamation point. # Example: <code>My Project</code> @@ -267,663 +432,26 @@ # Read-only after creation. # Corresponds to the JSON property `projectId` # @return [String] attr_accessor :project_id - # The Project lifecycle state. - # Read-only. - # Corresponds to the JSON property `lifecycleState` - # @return [String] - attr_accessor :lifecycle_state - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state) @project_number = args[:project_number] if args.key?(:project_number) @parent = args[:parent] if args.key?(:parent) - @create_time = args[:create_time] if args.key?(:create_time) @labels = args[:labels] if args.key?(:labels) + @create_time = args[:create_time] if args.key?(:create_time) @name = args[:name] if args.key?(:name) @project_id = args[:project_id] if args.key?(:project_id) - @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state) end end - # The response returned from the ListOrgPolicies method. It will be empty - # if no `Policies` are set on the resource. - class ListOrgPoliciesResponse - include Google::Apis::Core::Hashable - - # The `Policies` that are set on the resource. It will be empty if no - # `Policies` are set. - # Corresponds to the JSON property `policies` - # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::OrgPolicy>] - attr_accessor :policies - - # Page token used to retrieve the next page. This is currently not used, but - # the server may at any point start supplying a valid token. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @policies = args[:policies] if args.key?(:policies) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - end - end - - # A classification of the Folder Operation error. - class FolderOperationError - include Google::Apis::Core::Hashable - - # The type of operation error experienced. - # Corresponds to the JSON property `errorMessageId` - # @return [String] - attr_accessor :error_message_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @error_message_id = args[:error_message_id] if args.key?(:error_message_id) - end - end - - # Defines a Cloud Organization `Policy` which is used to specify `Constraints` - # for configurations of Cloud Platform resources. - class OrgPolicy - include Google::Apis::Core::Hashable - - # Version of the `Policy`. Default version is 0; - # Corresponds to the JSON property `version` - # @return [Fixnum] - attr_accessor :version - - # Ignores policies set above this resource and restores the - # `constraint_default` enforcement behavior of the specific `Constraint` at - # this resource. - # Suppose that `constraint_default` is set to `ALLOW` for the - # `Constraint` `constraints/serviceuser.services`. Suppose that organization - # foo.com sets a `Policy` at their Organization resource node that restricts - # the allowed service activations to deny all service activations. They - # could then set a `Policy` with the `policy_type` `restore_default` on - # several experimental projects, restoring the `constraint_default` - # enforcement of the `Constraint` for only those projects, allowing those - # projects to have all services activated. - # Corresponds to the JSON property `restoreDefault` - # @return [Google::Apis::CloudresourcemanagerV1beta1::RestoreDefault] - attr_accessor :restore_default - - # Used in `policy_type` to specify how `list_policy` behaves at this - # resource. - # A `ListPolicy` can define specific values that are allowed or denied by - # setting either the `allowed_values` or `denied_values` fields. It can also - # be used to allow or deny all values, by setting the `all_values` field. If - # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values` - # or `denied_values` must be set (attempting to set both or neither will - # result in a failed request). If `all_values` is set to either `ALLOW` or - # `DENY`, `allowed_values` and `denied_values` must be unset. - # Corresponds to the JSON property `listPolicy` - # @return [Google::Apis::CloudresourcemanagerV1beta1::ListPolicy] - attr_accessor :list_policy - - # An opaque tag indicating the current version of the `Policy`, used for - # concurrency control. - # When the `Policy` is returned from either a `GetPolicy` or a - # `ListOrgPolicy` request, this `etag` indicates the version of the current - # `Policy` to use when executing a read-modify-write loop. - # When the `Policy` is returned from a `GetEffectivePolicy` request, the - # `etag` will be unset. - # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value - # that was returned from a `GetOrgPolicy` request as part of a - # read-modify-write loop for concurrency control. Not setting the `etag`in a - # `SetOrgPolicy` request will result in an unconditional write of the - # `Policy`. - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - - # The name of the `Constraint` the `Policy` is configuring, for example, - # `constraints/serviceuser.services`. - # Immutable after creation. - # Corresponds to the JSON property `constraint` - # @return [String] - attr_accessor :constraint - - # Used in `policy_type` to specify how `boolean_policy` will behave at this - # resource. - # Corresponds to the JSON property `booleanPolicy` - # @return [Google::Apis::CloudresourcemanagerV1beta1::BooleanPolicy] - attr_accessor :boolean_policy - - # The time stamp the `Policy` was previously updated. This is set by the - # server, not specified by the caller, and represents the last time a call to - # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will - # be ignored. - # Corresponds to the JSON property `updateTime` - # @return [String] - attr_accessor :update_time - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @version = args[:version] if args.key?(:version) - @restore_default = args[:restore_default] if args.key?(:restore_default) - @list_policy = args[:list_policy] if args.key?(:list_policy) - @etag = args[:etag] if args.key?(:etag) - @constraint = args[:constraint] if args.key?(:constraint) - @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy) - @update_time = args[:update_time] if args.key?(:update_time) - end - end - - # Used in `policy_type` to specify how `boolean_policy` will behave at this - # resource. - class BooleanPolicy - include Google::Apis::Core::Hashable - - # If `true`, then the `Policy` is enforced. If `false`, then any - # configuration is acceptable. - # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` - # with `constraint_default` set to `ALLOW`. A `Policy` for that - # `Constraint` exhibits the following behavior: - # - If the `Policy` at this resource has enforced set to `false`, serial - # port connection attempts will be allowed. - # - If the `Policy` at this resource has enforced set to `true`, serial - # port connection attempts will be refused. - # - If the `Policy` at this resource is `RestoreDefault`, serial port - # connection attempts will be allowed. - # - If no `Policy` is set at this resource or anywhere higher in the - # resource hierarchy, serial port connection attempts will be allowed. - # - If no `Policy` is set at this resource, but one exists higher in the - # resource hierarchy, the behavior is as if the`Policy` were set at - # this resource. - # The following examples demonstrate the different possible layerings: - # Example 1 (nearest `Constraint` wins): - # `organizations/foo` has a `Policy` with: - # `enforced: false` - # `projects/bar` has no `Policy` set. - # The constraint at `projects/bar` and `organizations/foo` will not be - # enforced. - # Example 2 (enforcement gets replaced): - # `organizations/foo` has a `Policy` with: - # `enforced: false` - # `projects/bar` has a `Policy` with: - # `enforced: true` - # The constraint at `organizations/foo` is not enforced. - # The constraint at `projects/bar` is enforced. - # Example 3 (RestoreDefault): - # `organizations/foo` has a `Policy` with: - # `enforced: true` - # `projects/bar` has a `Policy` with: - # `RestoreDefault: ``` - # The constraint at `organizations/foo` is enforced. - # The constraint at `projects/bar` is not enforced, because - # `constraint_default` for the `Constraint` is `ALLOW`. - # Corresponds to the JSON property `enforced` - # @return [Boolean] - attr_accessor :enforced - alias_method :enforced?, :enforced - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @enforced = args[:enforced] if args.key?(:enforced) - end - end - - # Identifying information for a single ancestor of a project. - class Ancestor - include Google::Apis::Core::Hashable - - # A container to reference an id for any resource type. A `resource` in Google - # Cloud Platform is a generic term for something you (a developer) may want to - # interact with through one of our API's. Some examples are an App Engine app, - # a Compute Engine instance, a Cloud SQL database, and so on. - # Corresponds to the JSON property `resourceId` - # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId] - attr_accessor :resource_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @resource_id = args[:resource_id] if args.key?(:resource_id) - end - end - - # A `Constraint` that allows or disallows a list of string values, which are - # configured by an Organization's policy administrator with a `Policy`. - class ListConstraint - include Google::Apis::Core::Hashable - - # Optional. The Google Cloud Console will try to default to a configuration - # that matches the value specified in this `Constraint`. - # Corresponds to the JSON property `suggestedValue` - # @return [String] - attr_accessor :suggested_value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @suggested_value = args[:suggested_value] if args.key?(:suggested_value) - end - end - - # The request sent to the SetOrgPolicyRequest method. - class SetOrgPolicyRequest - include Google::Apis::Core::Hashable - - # Defines a Cloud Organization `Policy` which is used to specify `Constraints` - # for configurations of Cloud Platform resources. - # Corresponds to the JSON property `policy` - # @return [Google::Apis::CloudresourcemanagerV1beta1::OrgPolicy] - attr_accessor :policy - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @policy = args[:policy] if args.key?(:policy) - end - end - - # Request message for `SetIamPolicy` method. - class SetIamPolicyRequest - include Google::Apis::Core::Hashable - - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. - # **Example** - # ` - # "bindings": [ - # ` - # "role": "roles/owner", - # "members": [ - # "user:mike@example.com", - # "group:admins@example.com", - # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com", - # ] - # `, - # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] - # ` - # ] - # ` - # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam). - # Corresponds to the JSON property `policy` - # @return [Google::Apis::CloudresourcemanagerV1beta1::Policy] - attr_accessor :policy - - # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - # the fields in the mask will be modified. If no mask is provided, the - # following default mask is used: - # paths: "bindings, etag" - # This field is only used by Cloud IAM. - # Corresponds to the JSON property `updateMask` - # @return [String] - attr_accessor :update_mask - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @policy = args[:policy] if args.key?(:policy) - @update_mask = args[:update_mask] if args.key?(:update_mask) - end - end - - # A generic empty message that you can re-use to avoid defining duplicated - # empty messages in your APIs. A typical example is to use it as the request - # or the response type of an API method. For instance: - # service Foo ` - # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); - # ` - # The JSON representation for `Empty` is empty JSON object ````. - class Empty - include Google::Apis::Core::Hashable - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - end - end - - # The root node in the resource hierarchy to which a particular entity's - # (e.g., company) resources belong. - class Organization - include Google::Apis::Core::Hashable - - # The organization's current lifecycle state. Assigned by the server. - # @OutputOnly - # Corresponds to the JSON property `lifecycleState` - # @return [String] - attr_accessor :lifecycle_state - - # A friendly string to be used to refer to the Organization in the UI. - # Assigned by the server, set to the primary domain of the G Suite - # customer that owns the organization. - # @OutputOnly - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # Timestamp when the Organization was created. Assigned by the server. - # @OutputOnly - # Corresponds to the JSON property `creationTime` - # @return [String] - attr_accessor :creation_time - - # The entity that owns an Organization. The lifetime of the Organization and - # all of its descendants are bound to the `OrganizationOwner`. If the - # `OrganizationOwner` is deleted, the Organization and all its descendants will - # be deleted. - # Corresponds to the JSON property `owner` - # @return [Google::Apis::CloudresourcemanagerV1beta1::OrganizationOwner] - attr_accessor :owner - - # Output Only. The resource name of the organization. This is the - # organization's relative path in the API. Its format is - # "organizations/[organization_id]". For example, "organizations/1234". - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # An immutable id for the Organization that is assigned on creation. This - # should be omitted when creating a new Organization. - # This field is read-only. - # This field is deprecated and will be removed in v1. Use name instead. - # Corresponds to the JSON property `organizationId` - # @return [String] - attr_accessor :organization_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state) - @display_name = args[:display_name] if args.key?(:display_name) - @creation_time = args[:creation_time] if args.key?(:creation_time) - @owner = args[:owner] if args.key?(:owner) - @name = args[:name] if args.key?(:name) - @organization_id = args[:organization_id] if args.key?(:organization_id) - end - end - - # The response returned from the ListAvailableOrgPolicyConstraints method. - # Returns all `Constraints` that could be set at this level of the hierarchy - # (contrast with the response from `ListPolicies`, which returns all policies - # which are set). - class ListAvailableOrgPolicyConstraintsResponse - include Google::Apis::Core::Hashable - - # Page token used to retrieve the next page. This is currently not used. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - # The collection of constraints that are settable on the request resource. - # Corresponds to the JSON property `constraints` - # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Constraint>] - attr_accessor :constraints - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - @constraints = args[:constraints] if args.key?(:constraints) - end - end - - # Used in `policy_type` to specify how `list_policy` behaves at this - # resource. - # A `ListPolicy` can define specific values that are allowed or denied by - # setting either the `allowed_values` or `denied_values` fields. It can also - # be used to allow or deny all values, by setting the `all_values` field. If - # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values` - # or `denied_values` must be set (attempting to set both or neither will - # result in a failed request). If `all_values` is set to either `ALLOW` or - # `DENY`, `allowed_values` and `denied_values` must be unset. - class ListPolicy - include Google::Apis::Core::Hashable - - # The policy all_values state. - # Corresponds to the JSON property `allValues` - # @return [String] - attr_accessor :all_values - - # List of values allowed at this resource. an only be set if no values are - # set for `denied_values` and `all_values` is set to - # `ALL_VALUES_UNSPECIFIED`. - # Corresponds to the JSON property `allowedValues` - # @return [Array<String>] - attr_accessor :allowed_values - - # Optional. The Google Cloud Console will try to default to a configuration - # that matches the value specified in this `Policy`. If `suggested_value` - # is not set, it will inherit the value specified higher in the hierarchy, - # unless `inherit_from_parent` is `false`. - # Corresponds to the JSON property `suggestedValue` - # @return [String] - attr_accessor :suggested_value - - # Determines the inheritance behavior for this `Policy`. - # By default, a `ListPolicy` set at a resource supercedes any `Policy` set - # anywhere up the resource hierarchy. However, if `inherit_from_parent` is - # set to `true`, then the values from the effective `Policy` of the parent - # resource are inherited, meaning the values set in this `Policy` are - # added to the values inherited up the hierarchy. - # Setting `Policy` hierarchies that inherit both allowed values and denied - # values isn't recommended in most circumstances to keep the configuration - # simple and understandable. However, it is possible to set a `Policy` with - # `allowed_values` set that inherits a `Policy` with `denied_values` set. - # In this case, the values that are allowed must be in `allowed_values` and - # not present in `denied_values`. - # For example, suppose you have a `Constraint` - # `constraints/serviceuser.services`, which has a `constraint_type` of - # `list_constraint`, and with `constraint_default` set to `ALLOW`. - # Suppose that at the Organization level, a `Policy` is applied that - # restricts the allowed API activations to ``E1`, `E2``. Then, if a - # `Policy` is applied to a project below the Organization that has - # `inherit_from_parent` set to `false` and field all_values set to DENY, - # then an attempt to activate any API will be denied. - # The following examples demonstrate different possible layerings: - # Example 1 (no inherited values): - # `organizations/foo` has a `Policy` with values: - # `allowed_values: “E1” allowed_values:”E2”` - # ``projects/bar`` has `inherit_from_parent` `false` and values: - # `allowed_values: "E3" allowed_values: "E4"` - # The accepted values at `organizations/foo` are `E1`, `E2`. - # The accepted values at `projects/bar` are `E3`, and `E4`. - # Example 2 (inherited values): - # `organizations/foo` has a `Policy` with values: - # `allowed_values: “E1” allowed_values:”E2”` - # `projects/bar` has a `Policy` with values: - # `value: “E3” value: ”E4” inherit_from_parent: true` - # The accepted values at `organizations/foo` are `E1`, `E2`. - # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. - # Example 3 (inheriting both allowed and denied values): - # `organizations/foo` has a `Policy` with values: - # `allowed_values: "E1" allowed_values: "E2"` - # `projects/bar` has a `Policy` with: - # `denied_values: "E1"` - # The accepted values at `organizations/foo` are `E1`, `E2`. - # The value accepted at `projects/bar` is `E2`. - # Example 4 (RestoreDefault): - # `organizations/foo` has a `Policy` with values: - # `allowed_values: “E1” allowed_values:”E2”` - # `projects/bar` has a `Policy` with values: - # `RestoreDefault: ``` - # The accepted values at `organizations/foo` are `E1`, `E2`. - # The accepted values at `projects/bar` are either all or none depending on - # the value of `constraint_default` (if `ALLOW`, all; if - # `DENY`, none). - # Example 5 (no policy inherits parent policy): - # `organizations/foo` has no `Policy` set. - # `projects/bar` has no `Policy` set. - # The accepted values at both levels are either all or none depending on - # the value of `constraint_default` (if `ALLOW`, all; if - # `DENY`, none). - # Example 6 (ListConstraint allowing all): - # `organizations/foo` has a `Policy` with values: - # `allowed_values: “E1” allowed_values: ”E2”` - # `projects/bar` has a `Policy` with: - # `all: ALLOW` - # The accepted values at `organizations/foo` are `E1`, E2`. - # Any value is accepted at `projects/bar`. - # Example 7 (ListConstraint allowing none): - # `organizations/foo` has a `Policy` with values: - # `allowed_values: “E1” allowed_values: ”E2”` - # `projects/bar` has a `Policy` with: - # `all: DENY` - # The accepted values at `organizations/foo` are `E1`, E2`. - # No value is accepted at `projects/bar`. - # Corresponds to the JSON property `inheritFromParent` - # @return [Boolean] - attr_accessor :inherit_from_parent - alias_method :inherit_from_parent?, :inherit_from_parent - - # List of values denied at this resource. Can only be set if no values are - # set for `allowed_values` and `all_values` is set to - # `ALL_VALUES_UNSPECIFIED`. - # Corresponds to the JSON property `deniedValues` - # @return [Array<String>] - attr_accessor :denied_values - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @all_values = args[:all_values] if args.key?(:all_values) - @allowed_values = args[:allowed_values] if args.key?(:allowed_values) - @suggested_value = args[:suggested_value] if args.key?(:suggested_value) - @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent) - @denied_values = args[:denied_values] if args.key?(:denied_values) - end - end - - # Response from the GetAncestry method. - class GetAncestryResponse - include Google::Apis::Core::Hashable - - # Ancestors are ordered from bottom to top of the resource hierarchy. The - # first ancestor is the project itself, followed by the project's parent, - # etc. - # Corresponds to the JSON property `ancestor` - # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Ancestor>] - attr_accessor :ancestor - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @ancestor = args[:ancestor] if args.key?(:ancestor) - end - end - - # Provides the configuration for logging a type of permissions. - # Example: - # ` - # "audit_log_configs": [ - # ` - # "log_type": "DATA_READ", - # "exempted_members": [ - # "user:foo@gmail.com" - # ] - # `, - # ` - # "log_type": "DATA_WRITE", - # ` - # ] - # ` - # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting - # foo@gmail.com from DATA_READ logging. - class AuditLogConfig - include Google::Apis::Core::Hashable - - # Specifies the identities that do not cause logging for this type of - # permission. - # Follows the same format of Binding.members. - # Corresponds to the JSON property `exemptedMembers` - # @return [Array<String>] - attr_accessor :exempted_members - - # The log type that this config enables. - # Corresponds to the JSON property `logType` - # @return [String] - attr_accessor :log_type - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @exempted_members = args[:exempted_members] if args.key?(:exempted_members) - @log_type = args[:log_type] if args.key?(:log_type) - end - end - - # The request sent to the - # GetAncestry - # method. - class GetAncestryRequest - include Google::Apis::Core::Hashable - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - end - end - # Request message for `TestIamPermissions` method. class TestIamPermissionsRequest include Google::Apis::Core::Hashable # The set of permissions to check for the `resource`. Permissions with @@ -942,39 +470,10 @@ def update!(**args) @permissions = args[:permissions] if args.key?(:permissions) end end - # The request sent to the [ListAvailableOrgPolicyConstraints] - # google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method. - class ListAvailableOrgPolicyConstraintsRequest - include Google::Apis::Core::Hashable - - # Page token used to retrieve the next page. This is currently unsupported - # and will be ignored. The server may at any point start using this field. - # Corresponds to the JSON property `pageToken` - # @return [String] - attr_accessor :page_token - - # Size of the pages to be returned. This is currently unsupported and will - # be ignored. The server may at any point start using this field to limit - # page size. - # Corresponds to the JSON property `pageSize` - # @return [Fixnum] - attr_accessor :page_size - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @page_token = args[:page_token] if args.key?(:page_token) - @page_size = args[:page_size] if args.key?(:page_size) - end - end - # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of # `members` to a `role`, where the members can be user accounts, Google groups, # Google domains, and service accounts. A `role` is a named list of permissions @@ -1010,10 +509,11 @@ # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing # policy is overwritten blindly. # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Version of the `Policy`. The default version is 0. # Corresponds to the JSON property `version` @@ -1082,10 +582,29 @@ @source_parent = args[:source_parent] if args.key?(:source_parent) @destination_parent = args[:destination_parent] if args.key?(:destination_parent) end end + # A classification of the Folder Operation error. + class FolderOperationError + include Google::Apis::Core::Hashable + + # The type of operation error experienced. + # Corresponds to the JSON property `errorMessageId` + # @return [String] + attr_accessor :error_message_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @error_message_id = args[:error_message_id] if args.key?(:error_message_id) + end + end + # A container to reference an id for any resource type. A `resource` in Google # Cloud Platform is a generic term for something you (a developer) may want to # interact with through one of our API's. Some examples are an App Engine app, # a Compute Engine instance, a Cloud SQL database, and so on. class ResourceId @@ -1112,57 +631,10 @@ @type = args[:type] if args.key?(:type) @id = args[:id] if args.key?(:id) end end - # The request sent to the GetEffectiveOrgPolicy method. - class GetEffectiveOrgPolicyRequest - include Google::Apis::Core::Hashable - - # The name of the `Constraint` to compute the effective `Policy`. - # Corresponds to the JSON property `constraint` - # @return [String] - attr_accessor :constraint - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @constraint = args[:constraint] if args.key?(:constraint) - end - end - - # The request sent to the ListOrgPolicies method. - class ListOrgPoliciesRequest - include Google::Apis::Core::Hashable - - # Page token used to retrieve the next page. This is currently unsupported - # and will be ignored. The server may at any point start using this field. - # Corresponds to the JSON property `pageToken` - # @return [String] - attr_accessor :page_token - - # Size of the pages to be returned. This is currently unsupported and will - # be ignored. The server may at any point start using this field to limit - # page size. - # Corresponds to the JSON property `pageSize` - # @return [Fixnum] - attr_accessor :page_size - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @page_token = args[:page_token] if args.key?(:page_token) - @page_size = args[:page_size] if args.key?(:page_size) - end - end - # Specifies the audit configuration for a service. # The configuration determines which permission types are logged, and what # identities, if any, are exempted from logging. # An AuditConifg must have one or more AuditLogConfigs. # If there are AuditConfigs for both `allServices` and a specific service, @@ -1233,192 +705,111 @@ @service = args[:service] if args.key?(:service) @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs) end end - # The response returned from the `ListOrganizations` method. - class ListOrganizationsResponse + # Identifying information for a single ancestor of a project. + class Ancestor include Google::Apis::Core::Hashable - # A pagination token to be used to retrieve the next page of results. If the - # result is too large to fit within the page size specified in the request, - # this field will be set with a token that can be used to fetch the next page - # of results. If this field is empty, it indicates that this response - # contains the last page of results. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token + # A container to reference an id for any resource type. A `resource` in Google + # Cloud Platform is a generic term for something you (a developer) may want to + # interact with through one of our API's. Some examples are an App Engine app, + # a Compute Engine instance, a Cloud SQL database, and so on. + # Corresponds to the JSON property `resourceId` + # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId] + attr_accessor :resource_id - # The list of Organizations that matched the list query, possibly paginated. - # Corresponds to the JSON property `organizations` - # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Organization>] - attr_accessor :organizations - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - @organizations = args[:organizations] if args.key?(:organizations) + @resource_id = args[:resource_id] if args.key?(:resource_id) end end - # A `Constraint` describes a way in which a resource's configuration can be - # restricted. For example, it controls which cloud services can be activated - # across an organization, or whether a Compute Engine instance can have - # serial port connections established. `Constraints` can be configured by the - # organization's policy adminstrator to fit the needs of the organzation by - # setting Policies for `Constraints` at different locations in the - # organization's resource hierarchy. Policies are inherited down the resource - # hierarchy from higher levels, but can also be overridden. For details about - # the inheritance rules please read about - # Policies. - # `Constraints` have a default behavior determined by the `constraint_default` - # field, which is the enforcement behavior that is used in the absence of a - # `Policy` being defined or inherited for the resource in question. - class Constraint + # Request message for `SetIamPolicy` method. + class SetIamPolicyRequest include Google::Apis::Core::Hashable - # Detailed description of what this `Constraint` controls as well as how and - # where it is enforced. - # Mutable. - # Corresponds to the JSON property `description` + # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + # the fields in the mask will be modified. If no mask is provided, the + # following default mask is used: + # paths: "bindings, etag" + # This field is only used by Cloud IAM. + # Corresponds to the JSON property `updateMask` # @return [String] - attr_accessor :description + attr_accessor :update_mask - # The human readable name. - # Mutable. - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name + # Defines an Identity and Access Management (IAM) policy. It is used to + # specify access control policies for Cloud Platform resources. + # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of + # `members` to a `role`, where the members can be user accounts, Google groups, + # Google domains, and service accounts. A `role` is a named list of permissions + # defined by IAM. + # **Example** + # ` + # "bindings": [ + # ` + # "role": "roles/owner", + # "members": [ + # "user:mike@example.com", + # "group:admins@example.com", + # "domain:google.com", + # "serviceAccount:my-other-app@appspot.gserviceaccount.com", + # ] + # `, + # ` + # "role": "roles/viewer", + # "members": ["user:sean@example.com"] + # ` + # ] + # ` + # For a description of IAM and its features, see the + # [IAM developer's guide](https://cloud.google.com/iam). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::CloudresourcemanagerV1beta1::Policy] + attr_accessor :policy - # A `Constraint` that is either enforced or not. - # For example a constraint `constraints/compute.disableSerialPortAccess`. - # If it is enforced on a VM instance, serial port connections will not be - # opened to that instance. - # Corresponds to the JSON property `booleanConstraint` - # @return [Google::Apis::CloudresourcemanagerV1beta1::BooleanConstraint] - attr_accessor :boolean_constraint - - # The evaluation behavior of this constraint in the absense of 'Policy'. - # Corresponds to the JSON property `constraintDefault` - # @return [String] - attr_accessor :constraint_default - - # Immutable value, required to globally be unique. For example, - # `constraints/serviceuser.services` - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # A `Constraint` that allows or disallows a list of string values, which are - # configured by an Organization's policy administrator with a `Policy`. - # Corresponds to the JSON property `listConstraint` - # @return [Google::Apis::CloudresourcemanagerV1beta1::ListConstraint] - attr_accessor :list_constraint - - # Version of the `Constraint`. Default version is 0; - # Corresponds to the JSON property `version` - # @return [Fixnum] - attr_accessor :version - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - @description = args[:description] if args.key?(:description) - @display_name = args[:display_name] if args.key?(:display_name) - @boolean_constraint = args[:boolean_constraint] if args.key?(:boolean_constraint) - @constraint_default = args[:constraint_default] if args.key?(:constraint_default) - @name = args[:name] if args.key?(:name) - @list_constraint = args[:list_constraint] if args.key?(:list_constraint) - @version = args[:version] if args.key?(:version) + @update_mask = args[:update_mask] if args.key?(:update_mask) + @policy = args[:policy] if args.key?(:policy) end end - # Associates `members` with a `role`. - class Binding + # The response returned from the `ListOrganizations` method. + class ListOrganizationsResponse include Google::Apis::Core::Hashable - # Specifies the identities requesting access for a Cloud Platform resource. - # `members` can have the following values: - # * `allUsers`: A special identifier that represents anyone who is - # on the internet; with or without a Google account. - # * `allAuthenticatedUsers`: A special identifier that represents anyone - # who is authenticated with a Google account or a service account. - # * `user:`emailid``: An email address that represents a specific Google - # account. For example, `alice@gmail.com` or `joe@example.com`. - # * `serviceAccount:`emailid``: An email address that represents a service - # account. For example, `my-other-app@appspot.gserviceaccount.com`. - # * `group:`emailid``: An email address that represents a Google group. - # For example, `admins@example.com`. - # * `domain:`domain``: A Google Apps domain name that represents all the - # users of that domain. For example, `google.com` or `example.com`. - # Corresponds to the JSON property `members` - # @return [Array<String>] - attr_accessor :members - - # Role that is assigned to `members`. - # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. - # Required - # Corresponds to the JSON property `role` + # A pagination token to be used to retrieve the next page of results. If the + # result is too large to fit within the page size specified in the request, + # this field will be set with a token that can be used to fetch the next page + # of results. If this field is empty, it indicates that this response + # contains the last page of results. + # Corresponds to the JSON property `nextPageToken` # @return [String] - attr_accessor :role + attr_accessor :next_page_token - def initialize(**args) - update!(**args) - end + # The list of Organizations that matched the list query, possibly paginated. + # Corresponds to the JSON property `organizations` + # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Organization>] + attr_accessor :organizations - # Update properties of this object - def update!(**args) - @members = args[:members] if args.key?(:members) - @role = args[:role] if args.key?(:role) - end - end - - # Ignores policies set above this resource and restores the - # `constraint_default` enforcement behavior of the specific `Constraint` at - # this resource. - # Suppose that `constraint_default` is set to `ALLOW` for the - # `Constraint` `constraints/serviceuser.services`. Suppose that organization - # foo.com sets a `Policy` at their Organization resource node that restricts - # the allowed service activations to deny all service activations. They - # could then set a `Policy` with the `policy_type` `restore_default` on - # several experimental projects, restoring the `constraint_default` - # enforcement of the `Constraint` for only those projects, allowing those - # projects to have all services activated. - class RestoreDefault - include Google::Apis::Core::Hashable - def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) - end - end - - # The request sent to the GetOrgPolicy method. - class GetOrgPolicyRequest - include Google::Apis::Core::Hashable - - # Name of the `Constraint` to get the `Policy`. - # Corresponds to the JSON property `constraint` - # @return [String] - attr_accessor :constraint - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @constraint = args[:constraint] if args.key?(:constraint) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @organizations = args[:organizations] if args.key?(:organizations) end end end end end