// Copyright 2022 Google LLC. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Code generated file. DO NOT EDIT. // Package orgpolicy provides access to the Organization Policy API. // // For product documentation, see: https://cloud.google.com/orgpolicy/docs/reference/rest/index.html // // Creating a client // // Usage example: // // import "google.golang.org/api/orgpolicy/v2" // ... // ctx := context.Background() // orgpolicyService, err := orgpolicy.NewService(ctx) // // In this example, Google Application Default Credentials are used for authentication. // // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. // // Other authentication options // // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: // // orgpolicyService, err := orgpolicy.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // orgpolicyService, err := orgpolicy.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See https://godoc.org/google.golang.org/api/option/ for details on options. package orgpolicy // import "google.golang.org/api/orgpolicy/v2" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" htransport "google.golang.org/api/transport/http" ) // Always reference these packages, just in case the auto-generated code // below doesn't. var _ = bytes.NewBuffer var _ = strconv.Itoa var _ = fmt.Sprintf var _ = json.NewDecoder var _ = io.Copy var _ = url.Parse var _ = gensupport.MarshalJSON var _ = googleapi.Version var _ = errors.New var _ = strings.Replace var _ = context.Canceled var _ = internaloption.WithDefaultEndpoint const apiId = "orgpolicy:v2" const apiName = "orgpolicy" const apiVersion = "v2" const basePath = "https://orgpolicy.googleapis.com/" const mtlsBasePath = "https://orgpolicy.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // See, edit, configure, and delete your Google Cloud data and see the // email address for your Google Account. CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/cloud-platform", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) client, endpoint, err := htransport.NewClient(ctx, opts...) if err != nil { return nil, err } s, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Folders = NewFoldersService(s) s.Organizations = NewOrganizationsService(s) s.Projects = NewProjectsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Folders *FoldersService Organizations *OrganizationsService Projects *ProjectsService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewFoldersService(s *Service) *FoldersService { rs := &FoldersService{s: s} rs.Constraints = NewFoldersConstraintsService(s) rs.Policies = NewFoldersPoliciesService(s) return rs } type FoldersService struct { s *Service Constraints *FoldersConstraintsService Policies *FoldersPoliciesService } func NewFoldersConstraintsService(s *Service) *FoldersConstraintsService { rs := &FoldersConstraintsService{s: s} return rs } type FoldersConstraintsService struct { s *Service } func NewFoldersPoliciesService(s *Service) *FoldersPoliciesService { rs := &FoldersPoliciesService{s: s} return rs } type FoldersPoliciesService struct { s *Service } func NewOrganizationsService(s *Service) *OrganizationsService { rs := &OrganizationsService{s: s} rs.Constraints = NewOrganizationsConstraintsService(s) rs.Policies = NewOrganizationsPoliciesService(s) return rs } type OrganizationsService struct { s *Service Constraints *OrganizationsConstraintsService Policies *OrganizationsPoliciesService } func NewOrganizationsConstraintsService(s *Service) *OrganizationsConstraintsService { rs := &OrganizationsConstraintsService{s: s} return rs } type OrganizationsConstraintsService struct { s *Service } func NewOrganizationsPoliciesService(s *Service) *OrganizationsPoliciesService { rs := &OrganizationsPoliciesService{s: s} return rs } type OrganizationsPoliciesService struct { s *Service } func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.Constraints = NewProjectsConstraintsService(s) rs.Policies = NewProjectsPoliciesService(s) return rs } type ProjectsService struct { s *Service Constraints *ProjectsConstraintsService Policies *ProjectsPoliciesService } func NewProjectsConstraintsService(s *Service) *ProjectsConstraintsService { rs := &ProjectsConstraintsService{s: s} return rs } type ProjectsConstraintsService struct { s *Service } func NewProjectsPoliciesService(s *Service) *ProjectsPoliciesService { rs := &ProjectsPoliciesService{s: s} return rs } type ProjectsPoliciesService struct { s *Service } // GoogleCloudOrgpolicyV2AlternatePolicySpec: Similar to PolicySpec but // with an extra 'launch' field for launch reference. The PolicySpec // here is specific for dry-run/darklaunch. type GoogleCloudOrgpolicyV2AlternatePolicySpec struct { // Launch: Reference to the launch that will be used while audit logging // and to control the launch. Should be set only in the alternate // policy. Launch string `json:"launch,omitempty"` // Spec: Specify `Constraint` for configurations of Cloud Platform // resources. Spec *GoogleCloudOrgpolicyV2PolicySpec `json:"spec,omitempty"` // ForceSendFields is a list of field names (e.g. "Launch") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Launch") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2AlternatePolicySpec) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2AlternatePolicySpec raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2Constraint: A `constraint` describes a way to // restrict resource's configuration. For example, you could enforce a // constraint that 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 administrator to fit the needs of the // organization by setting a `policy` that includes `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. type GoogleCloudOrgpolicyV2Constraint struct { // BooleanConstraint: Defines this constraint as being a // BooleanConstraint. BooleanConstraint *GoogleCloudOrgpolicyV2ConstraintBooleanConstraint `json:"booleanConstraint,omitempty"` // ConstraintDefault: The evaluation behavior of this constraint in the // absence of 'Policy'. // // Possible values: // "CONSTRAINT_DEFAULT_UNSPECIFIED" - This is only used for // distinguishing unset values and should never be used. // "ALLOW" - Indicate that all values are allowed for list // constraints. Indicate that enforcement is off for boolean // constraints. // "DENY" - Indicate that all values are denied for list constraints. // Indicate that enforcement is on for boolean constraints. ConstraintDefault string `json:"constraintDefault,omitempty"` // Description: Detailed description of what this `Constraint` controls // as well as how and where it is enforced. Mutable. Description string `json:"description,omitempty"` // DisplayName: The human readable name. Mutable. DisplayName string `json:"displayName,omitempty"` // ListConstraint: Defines this constraint as being a ListConstraint. ListConstraint *GoogleCloudOrgpolicyV2ConstraintListConstraint `json:"listConstraint,omitempty"` // Name: Immutable. The resource name of the Constraint. Must be in one // of the following forms: * // `projects/{project_number}/constraints/{constraint_name}` * // `folders/{folder_id}/constraints/{constraint_name}` * // `organizations/{organization_id}/constraints/{constraint_name}` For // example, "/projects/123/constraints/compute.disableSerialPortAccess". Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "BooleanConstraint") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BooleanConstraint") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the // server as null. It is an error if a field in this list has a // non-empty value. This may be used to include null fields in Patch // requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2Constraint) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2Constraint raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2ConstraintBooleanConstraint: 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. type GoogleCloudOrgpolicyV2ConstraintBooleanConstraint struct { } // GoogleCloudOrgpolicyV2ConstraintListConstraint: A `Constraint` that // allows or disallows a list of string values, which are configured by // an Organization's policy administrator with a `Policy`. type GoogleCloudOrgpolicyV2ConstraintListConstraint struct { // SupportsIn: Indicates whether values grouped into categories can be // used in `Policy.allowed_values` and `Policy.denied_values`. For // example, "in:Python" would match any value in the 'Python' group. SupportsIn bool `json:"supportsIn,omitempty"` // SupportsUnder: Indicates whether subtrees of Cloud Resource Manager // resource hierarchy can be used in `Policy.allowed_values` and // `Policy.denied_values`. For example, "under:folders/123" would // match any resource under the 'folders/123' folder. SupportsUnder bool `json:"supportsUnder,omitempty"` // ForceSendFields is a list of field names (e.g. "SupportsIn") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "SupportsIn") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2ConstraintListConstraint) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2ConstraintListConstraint raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2ListConstraintsResponse: The response returned // from the ListConstraints method. type GoogleCloudOrgpolicyV2ListConstraintsResponse struct { // Constraints: The collection of constraints that are available on the // targeted resource. Constraints []*GoogleCloudOrgpolicyV2Constraint `json:"constraints,omitempty"` // NextPageToken: Page token used to retrieve the next page. This is // currently not used. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Constraints") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Constraints") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2ListConstraintsResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2ListConstraintsResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2ListPoliciesResponse: The response returned // from the ListPolicies method. It will be empty if no `Policies` are // set on the resource. type GoogleCloudOrgpolicyV2ListPoliciesResponse struct { // NextPageToken: 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. NextPageToken string `json:"nextPageToken,omitempty"` // Policies: All `Policies` that exist on the resource. It will be empty // if no `Policies` are set. Policies []*GoogleCloudOrgpolicyV2Policy `json:"policies,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2ListPoliciesResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2ListPoliciesResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2Policy: Defines a Cloud Organization `Policy` // which is used to specify `Constraints` for configurations of Cloud // Platform resources. type GoogleCloudOrgpolicyV2Policy struct { // Alternate: Deprecated. Alternate *GoogleCloudOrgpolicyV2AlternatePolicySpec `json:"alternate,omitempty"` // Name: Immutable. The resource name of the Policy. Must be one of the // following forms, where constraint_name is the name of the constraint // which this Policy configures: * // `projects/{project_number}/policies/{constraint_name}` * // `folders/{folder_id}/policies/{constraint_name}` * // `organizations/{organization_id}/policies/{constraint_name}` For // example, "projects/123/policies/compute.disableSerialPortAccess". // Note: `projects/{project_id}/policies/{constraint_name}` is also an // acceptable name for API requests, but responses will return the name // using the equivalent project number. Name string `json:"name,omitempty"` // Spec: Basic information about the Organization Policy. Spec *GoogleCloudOrgpolicyV2PolicySpec `json:"spec,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Alternate") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Alternate") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2Policy) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2Policy raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2PolicySpec: Defines a Cloud Organization // `PolicySpec` which is used to specify `Constraints` for // configurations of Cloud Platform resources. type GoogleCloudOrgpolicyV2PolicySpec struct { // Etag: An opaque tag indicating the current version of the `Policy`, // used for concurrency control. This field is ignored if used in a // `CreatePolicy` request. When the `Policy` is returned from either a // `GetPolicy` or a `ListPolicies` 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. Etag string `json:"etag,omitempty"` // InheritFromParent: Determines the inheritance behavior for this // `Policy`. If `inherit_from_parent` is true, PolicyRules set higher up // in the hierarchy (up to the closest root) are inherited and present // in the effective policy. If it is false, then no rules are inherited, // and this Policy becomes the new root for evaluation. This field can // be set only for Policies which configure list constraints. InheritFromParent bool `json:"inheritFromParent,omitempty"` // Reset: Ignores policies set above this resource and restores the // `constraint_default` enforcement behavior of the specific // `Constraint` at this resource. This field can be set in policies for // either list or boolean constraints. If set, `rules` must be empty and // `inherit_from_parent` must be set to false. Reset bool `json:"reset,omitempty"` // Rules: Up to 10 PolicyRules are allowed. In Policies for boolean // constraints, the following requirements apply: - There must be one // and only one PolicyRule where condition is unset. - // BooleanPolicyRules with conditions must set `enforced` to the // opposite of the PolicyRule without a condition. - During policy // evaluation, PolicyRules with conditions that are true for a target // resource take precedence. Rules []*GoogleCloudOrgpolicyV2PolicySpecPolicyRule `json:"rules,omitempty"` // UpdateTime: Output only. The time stamp this was previously updated. // This represents the last time a call to `CreatePolicy` or // `UpdatePolicy` was made for that `Policy`. UpdateTime string `json:"updateTime,omitempty"` // ForceSendFields is a list of field names (e.g. "Etag") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Etag") to include in API // requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2PolicySpec) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2PolicySpec raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2PolicySpecPolicyRule: A rule used to express // this policy. type GoogleCloudOrgpolicyV2PolicySpecPolicyRule struct { // AllowAll: Setting this to true means that all values are allowed. // This field can be set only in Policies for list constraints. AllowAll bool `json:"allowAll,omitempty"` // Condition: A condition which determines whether this rule is used in // the evaluation of the policy. When set, the `expression` field in the // `Expr' must include from 1 to 10 subexpressions, joined by the "||" // or "&&" operators. Each subexpression must be of the form // "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". or // "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". where // key_name and value_name are the resource names for Label Keys and // Values. These names are available from the Tag Manager Service. An // example expression is: "resource.matchTag('123456789/environment, // 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')". Condition *GoogleTypeExpr `json:"condition,omitempty"` // DenyAll: Setting this to true means that all values are denied. This // field can be set only in Policies for list constraints. DenyAll bool `json:"denyAll,omitempty"` // Enforce: If `true`, then the `Policy` is enforced. If `false`, then // any configuration is acceptable. This field can be set only in // Policies for boolean constraints. Enforce bool `json:"enforce,omitempty"` // Values: List of values to be used for this PolicyRule. This field can // be set only in Policies for list constraints. Values *GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues `json:"values,omitempty"` // ForceSendFields is a list of field names (e.g. "AllowAll") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AllowAll") to include in // API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. However, any field with an // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2PolicySpecPolicyRule) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2PolicySpecPolicyRule raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues: A message // that holds specific allowed and denied values. This message can // define specific values and subtrees of Cloud Resource Manager // resource hierarchy (`Organizations`, `Folders`, `Projects`) that are // allowed or denied. This is achieved by using the `under:` and // optional `is:` prefixes. The `under:` prefix is used to denote // resource subtree values. The `is:` prefix is used to denote specific // values, and is required only if the value contains a ":". Values // prefixed with "is:" are treated the same as values with no prefix. // Ancestry subtrees must be in one of the following formats: - // "projects/", e.g. "projects/tokyo-rain-123" - "folders/", e.g. // "folders/1234" - "organizations/", e.g. "organizations/1234" The // `supports_under` field of the associated `Constraint` defines whether // ancestry prefixes can be used. type GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues struct { // AllowedValues: List of values allowed at this resource. AllowedValues []string `json:"allowedValues,omitempty"` // DeniedValues: List of values denied at this resource. DeniedValues []string `json:"deniedValues,omitempty"` // ForceSendFields is a list of field names (e.g. "AllowedValues") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AllowedValues") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // GoogleProtobufEmpty: 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); } type GoogleProtobufEmpty struct { // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` } // GoogleTypeExpr: Represents a textual expression in the Common // Expression Language (CEL) syntax. CEL is a C-like expression // language. The syntax and semantics of CEL are documented at // https://github.com/google/cel-spec. Example (Comparison): title: // "Summary size limit" description: "Determines if a summary is less // than 100 chars" expression: "document.summary.size() < 100" Example // (Equality): title: "Requestor is owner" description: "Determines if // requestor is the document owner" expression: "document.owner == // request.auth.claims.email" Example (Logic): title: "Public documents" // description: "Determine whether the document should be publicly // visible" expression: "document.type != 'private' && document.type != // 'internal'" Example (Data Manipulation): title: "Notification string" // description: "Create a notification string with a timestamp." // expression: "'New message received at ' + // string(document.create_time)" The exact variables and functions that // may be referenced within an expression are determined by the service // that evaluates it. See the service documentation for additional // information. type GoogleTypeExpr struct { // Description: Optional. Description of the expression. This is a // longer text which describes the expression, e.g. when hovered over it // in a UI. Description string `json:"description,omitempty"` // Expression: Textual representation of an expression in Common // Expression Language syntax. Expression string `json:"expression,omitempty"` // Location: Optional. String indicating the location of the expression // for error reporting, e.g. a file name and a position in the file. Location string `json:"location,omitempty"` // Title: Optional. Title for the expression, i.e. a short string // describing its purpose. This can be used e.g. in UIs which allow to // enter the expression. Title string `json:"title,omitempty"` // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be // sent to the server regardless of whether the field is empty or not. // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Description") to include // in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. However, any field with // an empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` } func (s *GoogleTypeExpr) MarshalJSON() ([]byte, error) { type NoMethod GoogleTypeExpr raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // method id "orgpolicy.folders.constraints.list": type FoldersConstraintsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists `Constraints` that could be applied on the specified // resource. // // - parent: The Cloud resource that parents the constraint. Must be in // one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *FoldersConstraintsService) List(parent string) *FoldersConstraintsListCall { c := &FoldersConstraintsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": 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. func (c *FoldersConstraintsListCall) PageSize(pageSize int64) *FoldersConstraintsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": 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. func (c *FoldersConstraintsListCall) PageToken(pageToken string) *FoldersConstraintsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *FoldersConstraintsListCall) Fields(s ...googleapi.Field) *FoldersConstraintsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *FoldersConstraintsListCall) IfNoneMatch(entityTag string) *FoldersConstraintsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *FoldersConstraintsListCall) Context(ctx context.Context) *FoldersConstraintsListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *FoldersConstraintsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FoldersConstraintsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/constraints") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.folders.constraints.list" call. // Exactly one of *GoogleCloudOrgpolicyV2ListConstraintsResponse or // error will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleCloudOrgpolicyV2ListConstraintsResponse.ServerResponse.Header // or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *FoldersConstraintsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2ListConstraintsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2ListConstraintsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Lists `Constraints` that could be applied on the specified resource.", // "flatPath": "v2/folders/{foldersId}/constraints", // "httpMethod": "GET", // "id": "orgpolicy.folders.constraints.list", // "parameterOrder": [ // "parent" // ], // "parameters": { // "pageSize": { // "description": "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.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "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.", // "location": "query", // "type": "string" // }, // "parent": { // "description": "Required. The Cloud resource that parents the constraint. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^folders/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/constraints", // "response": { // "$ref": "GoogleCloudOrgpolicyV2ListConstraintsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *FoldersConstraintsListCall) Pages(ctx context.Context, f func(*GoogleCloudOrgpolicyV2ListConstraintsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } // method id "orgpolicy.folders.policies.create": type FoldersPoliciesCreateCall struct { s *Service parent string googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns // a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the // policy already exists on the given Cloud resource. // // - parent: The Cloud resource that will parent the new Policy. Must be // in one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *FoldersPoliciesService) Create(parent string, googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy) *FoldersPoliciesCreateCall { c := &FoldersPoliciesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.googlecloudorgpolicyv2policy = googlecloudorgpolicyv2policy return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *FoldersPoliciesCreateCall) Fields(s ...googleapi.Field) *FoldersPoliciesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *FoldersPoliciesCreateCall) Context(ctx context.Context) *FoldersPoliciesCreateCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *FoldersPoliciesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FoldersPoliciesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudorgpolicyv2policy) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/policies") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.folders.policies.create" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *FoldersPoliciesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Creates a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the policy already exists on the given Cloud resource.", // "flatPath": "v2/folders/{foldersId}/policies", // "httpMethod": "POST", // "id": "orgpolicy.folders.policies.create", // "parameterOrder": [ // "parent" // ], // "parameters": { // "parent": { // "description": "Required. The Cloud resource that will parent the new Policy. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^folders/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/policies", // "request": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.folders.policies.delete": type FoldersPoliciesDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint or Org Policy does not // exist. // // - name: Name of the policy to delete. See `Policy` for naming rules. func (r *FoldersPoliciesService) Delete(name string) *FoldersPoliciesDeleteCall { c := &FoldersPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *FoldersPoliciesDeleteCall) Fields(s ...googleapi.Field) *FoldersPoliciesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *FoldersPoliciesDeleteCall) Context(ctx context.Context) *FoldersPoliciesDeleteCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *FoldersPoliciesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FoldersPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.folders.policies.delete" call. // Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *GoogleProtobufEmpty.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *FoldersPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleProtobufEmpty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Deletes a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or Org Policy does not exist.", // "flatPath": "v2/folders/{foldersId}/policies/{policiesId}", // "httpMethod": "DELETE", // "id": "orgpolicy.folders.policies.delete", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. Name of the policy to delete. See `Policy` for naming rules.", // "location": "path", // "pattern": "^folders/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "response": { // "$ref": "GoogleProtobufEmpty" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.folders.policies.get": type FoldersPoliciesGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a `Policy` on a resource. If no `Policy` is set on the // resource, NOT_FOUND is returned. The `etag` value can be used with // `UpdatePolicy()` to update a `Policy` during read-modify-write. // // - name: Resource name of the policy. See `Policy` for naming // requirements. func (r *FoldersPoliciesService) Get(name string) *FoldersPoliciesGetCall { c := &FoldersPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *FoldersPoliciesGetCall) Fields(s ...googleapi.Field) *FoldersPoliciesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *FoldersPoliciesGetCall) IfNoneMatch(entityTag string) *FoldersPoliciesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *FoldersPoliciesGetCall) Context(ctx context.Context) *FoldersPoliciesGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *FoldersPoliciesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FoldersPoliciesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.folders.policies.get" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *FoldersPoliciesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Gets a `Policy` on a resource. If no `Policy` is set on the resource, NOT_FOUND is returned. The `etag` value can be used with `UpdatePolicy()` to update a `Policy` during read-modify-write.", // "flatPath": "v2/folders/{foldersId}/policies/{policiesId}", // "httpMethod": "GET", // "id": "orgpolicy.folders.policies.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. Resource name of the policy. See `Policy` for naming requirements.", // "location": "path", // "pattern": "^folders/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.folders.policies.getEffectivePolicy": type FoldersPoliciesGetEffectivePolicyCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // GetEffectivePolicy: Gets the effective `Policy` on a resource. This // is the result of merging `Policies` in the resource hierarchy and // evaluating conditions. The returned `Policy` will not have an `etag` // or `condition` set because it is a computed `Policy` across multiple // resources. Subtrees of Resource Manager resource hierarchy with // 'under:' prefix will not be expanded. // // - name: The effective policy to compute. See `Policy` for naming // rules. func (r *FoldersPoliciesService) GetEffectivePolicy(name string) *FoldersPoliciesGetEffectivePolicyCall { c := &FoldersPoliciesGetEffectivePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *FoldersPoliciesGetEffectivePolicyCall) Fields(s ...googleapi.Field) *FoldersPoliciesGetEffectivePolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *FoldersPoliciesGetEffectivePolicyCall) IfNoneMatch(entityTag string) *FoldersPoliciesGetEffectivePolicyCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *FoldersPoliciesGetEffectivePolicyCall) Context(ctx context.Context) *FoldersPoliciesGetEffectivePolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *FoldersPoliciesGetEffectivePolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FoldersPoliciesGetEffectivePolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:getEffectivePolicy") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.folders.policies.getEffectivePolicy" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *FoldersPoliciesGetEffectivePolicyCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Gets the effective `Policy` on a resource. This is the result of merging `Policies` in the resource hierarchy and evaluating conditions. The returned `Policy` will not have an `etag` or `condition` set because it is a computed `Policy` across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded.", // "flatPath": "v2/folders/{foldersId}/policies/{policiesId}:getEffectivePolicy", // "httpMethod": "GET", // "id": "orgpolicy.folders.policies.getEffectivePolicy", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. The effective policy to compute. See `Policy` for naming rules.", // "location": "path", // "pattern": "^folders/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}:getEffectivePolicy", // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.folders.policies.list": type FoldersPoliciesListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Retrieves all of the `Policies` that exist on a particular // resource. // // - parent: The target Cloud resource that parents the set of // constraints and policies that will be returned from this call. Must // be in one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *FoldersPoliciesService) List(parent string) *FoldersPoliciesListCall { c := &FoldersPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": 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. func (c *FoldersPoliciesListCall) PageSize(pageSize int64) *FoldersPoliciesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": 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. func (c *FoldersPoliciesListCall) PageToken(pageToken string) *FoldersPoliciesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *FoldersPoliciesListCall) Fields(s ...googleapi.Field) *FoldersPoliciesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *FoldersPoliciesListCall) IfNoneMatch(entityTag string) *FoldersPoliciesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *FoldersPoliciesListCall) Context(ctx context.Context) *FoldersPoliciesListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *FoldersPoliciesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FoldersPoliciesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/policies") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.folders.policies.list" call. // Exactly one of *GoogleCloudOrgpolicyV2ListPoliciesResponse or error // will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleCloudOrgpolicyV2ListPoliciesResponse.ServerResponse.Header or // (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *FoldersPoliciesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2ListPoliciesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2ListPoliciesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves all of the `Policies` that exist on a particular resource.", // "flatPath": "v2/folders/{foldersId}/policies", // "httpMethod": "GET", // "id": "orgpolicy.folders.policies.list", // "parameterOrder": [ // "parent" // ], // "parameters": { // "pageSize": { // "description": "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.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "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.", // "location": "query", // "type": "string" // }, // "parent": { // "description": "Required. The target Cloud resource that parents the set of constraints and policies that will be returned from this call. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^folders/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/policies", // "response": { // "$ref": "GoogleCloudOrgpolicyV2ListPoliciesResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *FoldersPoliciesListCall) Pages(ctx context.Context, f func(*GoogleCloudOrgpolicyV2ListPoliciesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } // method id "orgpolicy.folders.policies.patch": type FoldersPoliciesPatchCall struct { s *Service name string googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not // exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` // if the etag supplied in the request does not match the persisted etag // of the policy Note: the supplied policy will perform a full overwrite // of all fields. // // - name: Immutable. The resource name of the Policy. Must be one of // the following forms, where constraint_name is the name of the // constraint which this Policy configures: * // `projects/{project_number}/policies/{constraint_name}` * // `folders/{folder_id}/policies/{constraint_name}` * // `organizations/{organization_id}/policies/{constraint_name}` For // example, "projects/123/policies/compute.disableSerialPortAccess". // Note: `projects/{project_id}/policies/{constraint_name}` is also an // acceptable name for API requests, but responses will return the // name using the equivalent project number. func (r *FoldersPoliciesService) Patch(name string, googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy) *FoldersPoliciesPatchCall { c := &FoldersPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.googlecloudorgpolicyv2policy = googlecloudorgpolicyv2policy return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *FoldersPoliciesPatchCall) Fields(s ...googleapi.Field) *FoldersPoliciesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *FoldersPoliciesPatchCall) Context(ctx context.Context) *FoldersPoliciesPatchCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *FoldersPoliciesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *FoldersPoliciesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudorgpolicyv2policy) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.folders.policies.patch" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *FoldersPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Updates a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the policy Note: the supplied policy will perform a full overwrite of all fields.", // "flatPath": "v2/folders/{foldersId}/policies/{policiesId}", // "httpMethod": "PATCH", // "id": "orgpolicy.folders.policies.patch", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Immutable. The resource name of the Policy. Must be one of the following forms, where constraint_name is the name of the constraint which this Policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, \"projects/123/policies/compute.disableSerialPortAccess\". Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number.", // "location": "path", // "pattern": "^folders/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "request": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.organizations.constraints.list": type OrganizationsConstraintsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists `Constraints` that could be applied on the specified // resource. // // - parent: The Cloud resource that parents the constraint. Must be in // one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *OrganizationsConstraintsService) List(parent string) *OrganizationsConstraintsListCall { c := &OrganizationsConstraintsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": 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. func (c *OrganizationsConstraintsListCall) PageSize(pageSize int64) *OrganizationsConstraintsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": 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. func (c *OrganizationsConstraintsListCall) PageToken(pageToken string) *OrganizationsConstraintsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *OrganizationsConstraintsListCall) Fields(s ...googleapi.Field) *OrganizationsConstraintsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *OrganizationsConstraintsListCall) IfNoneMatch(entityTag string) *OrganizationsConstraintsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *OrganizationsConstraintsListCall) Context(ctx context.Context) *OrganizationsConstraintsListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *OrganizationsConstraintsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OrganizationsConstraintsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/constraints") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.organizations.constraints.list" call. // Exactly one of *GoogleCloudOrgpolicyV2ListConstraintsResponse or // error will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleCloudOrgpolicyV2ListConstraintsResponse.ServerResponse.Header // or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *OrganizationsConstraintsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2ListConstraintsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2ListConstraintsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Lists `Constraints` that could be applied on the specified resource.", // "flatPath": "v2/organizations/{organizationsId}/constraints", // "httpMethod": "GET", // "id": "orgpolicy.organizations.constraints.list", // "parameterOrder": [ // "parent" // ], // "parameters": { // "pageSize": { // "description": "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.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "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.", // "location": "query", // "type": "string" // }, // "parent": { // "description": "Required. The Cloud resource that parents the constraint. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^organizations/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/constraints", // "response": { // "$ref": "GoogleCloudOrgpolicyV2ListConstraintsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *OrganizationsConstraintsListCall) Pages(ctx context.Context, f func(*GoogleCloudOrgpolicyV2ListConstraintsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } // method id "orgpolicy.organizations.policies.create": type OrganizationsPoliciesCreateCall struct { s *Service parent string googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns // a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the // policy already exists on the given Cloud resource. // // - parent: The Cloud resource that will parent the new Policy. Must be // in one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *OrganizationsPoliciesService) Create(parent string, googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy) *OrganizationsPoliciesCreateCall { c := &OrganizationsPoliciesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.googlecloudorgpolicyv2policy = googlecloudorgpolicyv2policy return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *OrganizationsPoliciesCreateCall) Fields(s ...googleapi.Field) *OrganizationsPoliciesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *OrganizationsPoliciesCreateCall) Context(ctx context.Context) *OrganizationsPoliciesCreateCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *OrganizationsPoliciesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OrganizationsPoliciesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudorgpolicyv2policy) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/policies") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.organizations.policies.create" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *OrganizationsPoliciesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Creates a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the policy already exists on the given Cloud resource.", // "flatPath": "v2/organizations/{organizationsId}/policies", // "httpMethod": "POST", // "id": "orgpolicy.organizations.policies.create", // "parameterOrder": [ // "parent" // ], // "parameters": { // "parent": { // "description": "Required. The Cloud resource that will parent the new Policy. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^organizations/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/policies", // "request": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.organizations.policies.delete": type OrganizationsPoliciesDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint or Org Policy does not // exist. // // - name: Name of the policy to delete. See `Policy` for naming rules. func (r *OrganizationsPoliciesService) Delete(name string) *OrganizationsPoliciesDeleteCall { c := &OrganizationsPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *OrganizationsPoliciesDeleteCall) Fields(s ...googleapi.Field) *OrganizationsPoliciesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *OrganizationsPoliciesDeleteCall) Context(ctx context.Context) *OrganizationsPoliciesDeleteCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *OrganizationsPoliciesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OrganizationsPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.organizations.policies.delete" call. // Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *GoogleProtobufEmpty.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *OrganizationsPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleProtobufEmpty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Deletes a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or Org Policy does not exist.", // "flatPath": "v2/organizations/{organizationsId}/policies/{policiesId}", // "httpMethod": "DELETE", // "id": "orgpolicy.organizations.policies.delete", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. Name of the policy to delete. See `Policy` for naming rules.", // "location": "path", // "pattern": "^organizations/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "response": { // "$ref": "GoogleProtobufEmpty" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.organizations.policies.get": type OrganizationsPoliciesGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a `Policy` on a resource. If no `Policy` is set on the // resource, NOT_FOUND is returned. The `etag` value can be used with // `UpdatePolicy()` to update a `Policy` during read-modify-write. // // - name: Resource name of the policy. See `Policy` for naming // requirements. func (r *OrganizationsPoliciesService) Get(name string) *OrganizationsPoliciesGetCall { c := &OrganizationsPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *OrganizationsPoliciesGetCall) Fields(s ...googleapi.Field) *OrganizationsPoliciesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *OrganizationsPoliciesGetCall) IfNoneMatch(entityTag string) *OrganizationsPoliciesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *OrganizationsPoliciesGetCall) Context(ctx context.Context) *OrganizationsPoliciesGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *OrganizationsPoliciesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OrganizationsPoliciesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.organizations.policies.get" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *OrganizationsPoliciesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Gets a `Policy` on a resource. If no `Policy` is set on the resource, NOT_FOUND is returned. The `etag` value can be used with `UpdatePolicy()` to update a `Policy` during read-modify-write.", // "flatPath": "v2/organizations/{organizationsId}/policies/{policiesId}", // "httpMethod": "GET", // "id": "orgpolicy.organizations.policies.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. Resource name of the policy. See `Policy` for naming requirements.", // "location": "path", // "pattern": "^organizations/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.organizations.policies.getEffectivePolicy": type OrganizationsPoliciesGetEffectivePolicyCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // GetEffectivePolicy: Gets the effective `Policy` on a resource. This // is the result of merging `Policies` in the resource hierarchy and // evaluating conditions. The returned `Policy` will not have an `etag` // or `condition` set because it is a computed `Policy` across multiple // resources. Subtrees of Resource Manager resource hierarchy with // 'under:' prefix will not be expanded. // // - name: The effective policy to compute. See `Policy` for naming // rules. func (r *OrganizationsPoliciesService) GetEffectivePolicy(name string) *OrganizationsPoliciesGetEffectivePolicyCall { c := &OrganizationsPoliciesGetEffectivePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *OrganizationsPoliciesGetEffectivePolicyCall) Fields(s ...googleapi.Field) *OrganizationsPoliciesGetEffectivePolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *OrganizationsPoliciesGetEffectivePolicyCall) IfNoneMatch(entityTag string) *OrganizationsPoliciesGetEffectivePolicyCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *OrganizationsPoliciesGetEffectivePolicyCall) Context(ctx context.Context) *OrganizationsPoliciesGetEffectivePolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *OrganizationsPoliciesGetEffectivePolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OrganizationsPoliciesGetEffectivePolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:getEffectivePolicy") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.organizations.policies.getEffectivePolicy" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *OrganizationsPoliciesGetEffectivePolicyCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Gets the effective `Policy` on a resource. This is the result of merging `Policies` in the resource hierarchy and evaluating conditions. The returned `Policy` will not have an `etag` or `condition` set because it is a computed `Policy` across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded.", // "flatPath": "v2/organizations/{organizationsId}/policies/{policiesId}:getEffectivePolicy", // "httpMethod": "GET", // "id": "orgpolicy.organizations.policies.getEffectivePolicy", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. The effective policy to compute. See `Policy` for naming rules.", // "location": "path", // "pattern": "^organizations/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}:getEffectivePolicy", // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.organizations.policies.list": type OrganizationsPoliciesListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Retrieves all of the `Policies` that exist on a particular // resource. // // - parent: The target Cloud resource that parents the set of // constraints and policies that will be returned from this call. Must // be in one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *OrganizationsPoliciesService) List(parent string) *OrganizationsPoliciesListCall { c := &OrganizationsPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": 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. func (c *OrganizationsPoliciesListCall) PageSize(pageSize int64) *OrganizationsPoliciesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": 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. func (c *OrganizationsPoliciesListCall) PageToken(pageToken string) *OrganizationsPoliciesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *OrganizationsPoliciesListCall) Fields(s ...googleapi.Field) *OrganizationsPoliciesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *OrganizationsPoliciesListCall) IfNoneMatch(entityTag string) *OrganizationsPoliciesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *OrganizationsPoliciesListCall) Context(ctx context.Context) *OrganizationsPoliciesListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *OrganizationsPoliciesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OrganizationsPoliciesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/policies") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.organizations.policies.list" call. // Exactly one of *GoogleCloudOrgpolicyV2ListPoliciesResponse or error // will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleCloudOrgpolicyV2ListPoliciesResponse.ServerResponse.Header or // (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *OrganizationsPoliciesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2ListPoliciesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2ListPoliciesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves all of the `Policies` that exist on a particular resource.", // "flatPath": "v2/organizations/{organizationsId}/policies", // "httpMethod": "GET", // "id": "orgpolicy.organizations.policies.list", // "parameterOrder": [ // "parent" // ], // "parameters": { // "pageSize": { // "description": "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.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "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.", // "location": "query", // "type": "string" // }, // "parent": { // "description": "Required. The target Cloud resource that parents the set of constraints and policies that will be returned from this call. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^organizations/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/policies", // "response": { // "$ref": "GoogleCloudOrgpolicyV2ListPoliciesResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *OrganizationsPoliciesListCall) Pages(ctx context.Context, f func(*GoogleCloudOrgpolicyV2ListPoliciesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } // method id "orgpolicy.organizations.policies.patch": type OrganizationsPoliciesPatchCall struct { s *Service name string googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not // exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` // if the etag supplied in the request does not match the persisted etag // of the policy Note: the supplied policy will perform a full overwrite // of all fields. // // - name: Immutable. The resource name of the Policy. Must be one of // the following forms, where constraint_name is the name of the // constraint which this Policy configures: * // `projects/{project_number}/policies/{constraint_name}` * // `folders/{folder_id}/policies/{constraint_name}` * // `organizations/{organization_id}/policies/{constraint_name}` For // example, "projects/123/policies/compute.disableSerialPortAccess". // Note: `projects/{project_id}/policies/{constraint_name}` is also an // acceptable name for API requests, but responses will return the // name using the equivalent project number. func (r *OrganizationsPoliciesService) Patch(name string, googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy) *OrganizationsPoliciesPatchCall { c := &OrganizationsPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.googlecloudorgpolicyv2policy = googlecloudorgpolicyv2policy return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *OrganizationsPoliciesPatchCall) Fields(s ...googleapi.Field) *OrganizationsPoliciesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *OrganizationsPoliciesPatchCall) Context(ctx context.Context) *OrganizationsPoliciesPatchCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *OrganizationsPoliciesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OrganizationsPoliciesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudorgpolicyv2policy) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.organizations.policies.patch" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *OrganizationsPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Updates a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the policy Note: the supplied policy will perform a full overwrite of all fields.", // "flatPath": "v2/organizations/{organizationsId}/policies/{policiesId}", // "httpMethod": "PATCH", // "id": "orgpolicy.organizations.policies.patch", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Immutable. The resource name of the Policy. Must be one of the following forms, where constraint_name is the name of the constraint which this Policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, \"projects/123/policies/compute.disableSerialPortAccess\". Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number.", // "location": "path", // "pattern": "^organizations/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "request": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.projects.constraints.list": type ProjectsConstraintsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists `Constraints` that could be applied on the specified // resource. // // - parent: The Cloud resource that parents the constraint. Must be in // one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *ProjectsConstraintsService) List(parent string) *ProjectsConstraintsListCall { c := &ProjectsConstraintsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": 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. func (c *ProjectsConstraintsListCall) PageSize(pageSize int64) *ProjectsConstraintsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": 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. func (c *ProjectsConstraintsListCall) PageToken(pageToken string) *ProjectsConstraintsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsConstraintsListCall) Fields(s ...googleapi.Field) *ProjectsConstraintsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *ProjectsConstraintsListCall) IfNoneMatch(entityTag string) *ProjectsConstraintsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ProjectsConstraintsListCall) Context(ctx context.Context) *ProjectsConstraintsListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ProjectsConstraintsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsConstraintsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/constraints") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.projects.constraints.list" call. // Exactly one of *GoogleCloudOrgpolicyV2ListConstraintsResponse or // error will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleCloudOrgpolicyV2ListConstraintsResponse.ServerResponse.Header // or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsConstraintsListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2ListConstraintsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2ListConstraintsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Lists `Constraints` that could be applied on the specified resource.", // "flatPath": "v2/projects/{projectsId}/constraints", // "httpMethod": "GET", // "id": "orgpolicy.projects.constraints.list", // "parameterOrder": [ // "parent" // ], // "parameters": { // "pageSize": { // "description": "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.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "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.", // "location": "query", // "type": "string" // }, // "parent": { // "description": "Required. The Cloud resource that parents the constraint. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^projects/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/constraints", // "response": { // "$ref": "GoogleCloudOrgpolicyV2ListConstraintsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsConstraintsListCall) Pages(ctx context.Context, f func(*GoogleCloudOrgpolicyV2ListConstraintsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } // method id "orgpolicy.projects.policies.create": type ProjectsPoliciesCreateCall struct { s *Service parent string googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns // a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the // policy already exists on the given Cloud resource. // // - parent: The Cloud resource that will parent the new Policy. Must be // in one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *ProjectsPoliciesService) Create(parent string, googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy) *ProjectsPoliciesCreateCall { c := &ProjectsPoliciesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.googlecloudorgpolicyv2policy = googlecloudorgpolicyv2policy return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsPoliciesCreateCall) Fields(s ...googleapi.Field) *ProjectsPoliciesCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ProjectsPoliciesCreateCall) Context(ctx context.Context) *ProjectsPoliciesCreateCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ProjectsPoliciesCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsPoliciesCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudorgpolicyv2policy) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/policies") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.projects.policies.create" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *ProjectsPoliciesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Creates a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint does not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ALREADY_EXISTS` if the policy already exists on the given Cloud resource.", // "flatPath": "v2/projects/{projectsId}/policies", // "httpMethod": "POST", // "id": "orgpolicy.projects.policies.create", // "parameterOrder": [ // "parent" // ], // "parameters": { // "parent": { // "description": "Required. The Cloud resource that will parent the new Policy. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^projects/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/policies", // "request": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.projects.policies.delete": type ProjectsPoliciesDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint or Org Policy does not // exist. // // - name: Name of the policy to delete. See `Policy` for naming rules. func (r *ProjectsPoliciesService) Delete(name string) *ProjectsPoliciesDeleteCall { c := &ProjectsPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsPoliciesDeleteCall) Fields(s ...googleapi.Field) *ProjectsPoliciesDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ProjectsPoliciesDeleteCall) Context(ctx context.Context) *ProjectsPoliciesDeleteCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ProjectsPoliciesDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.projects.policies.delete" call. // Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *GoogleProtobufEmpty.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *ProjectsPoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleProtobufEmpty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Deletes a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or Org Policy does not exist.", // "flatPath": "v2/projects/{projectsId}/policies/{policiesId}", // "httpMethod": "DELETE", // "id": "orgpolicy.projects.policies.delete", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. Name of the policy to delete. See `Policy` for naming rules.", // "location": "path", // "pattern": "^projects/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "response": { // "$ref": "GoogleProtobufEmpty" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.projects.policies.get": type ProjectsPoliciesGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a `Policy` on a resource. If no `Policy` is set on the // resource, NOT_FOUND is returned. The `etag` value can be used with // `UpdatePolicy()` to update a `Policy` during read-modify-write. // // - name: Resource name of the policy. See `Policy` for naming // requirements. func (r *ProjectsPoliciesService) Get(name string) *ProjectsPoliciesGetCall { c := &ProjectsPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsPoliciesGetCall) Fields(s ...googleapi.Field) *ProjectsPoliciesGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *ProjectsPoliciesGetCall) IfNoneMatch(entityTag string) *ProjectsPoliciesGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ProjectsPoliciesGetCall) Context(ctx context.Context) *ProjectsPoliciesGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ProjectsPoliciesGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsPoliciesGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.projects.policies.get" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *ProjectsPoliciesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Gets a `Policy` on a resource. If no `Policy` is set on the resource, NOT_FOUND is returned. The `etag` value can be used with `UpdatePolicy()` to update a `Policy` during read-modify-write.", // "flatPath": "v2/projects/{projectsId}/policies/{policiesId}", // "httpMethod": "GET", // "id": "orgpolicy.projects.policies.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. Resource name of the policy. See `Policy` for naming requirements.", // "location": "path", // "pattern": "^projects/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.projects.policies.getEffectivePolicy": type ProjectsPoliciesGetEffectivePolicyCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // GetEffectivePolicy: Gets the effective `Policy` on a resource. This // is the result of merging `Policies` in the resource hierarchy and // evaluating conditions. The returned `Policy` will not have an `etag` // or `condition` set because it is a computed `Policy` across multiple // resources. Subtrees of Resource Manager resource hierarchy with // 'under:' prefix will not be expanded. // // - name: The effective policy to compute. See `Policy` for naming // rules. func (r *ProjectsPoliciesService) GetEffectivePolicy(name string) *ProjectsPoliciesGetEffectivePolicyCall { c := &ProjectsPoliciesGetEffectivePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsPoliciesGetEffectivePolicyCall) Fields(s ...googleapi.Field) *ProjectsPoliciesGetEffectivePolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *ProjectsPoliciesGetEffectivePolicyCall) IfNoneMatch(entityTag string) *ProjectsPoliciesGetEffectivePolicyCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ProjectsPoliciesGetEffectivePolicyCall) Context(ctx context.Context) *ProjectsPoliciesGetEffectivePolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ProjectsPoliciesGetEffectivePolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsPoliciesGetEffectivePolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:getEffectivePolicy") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.projects.policies.getEffectivePolicy" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *ProjectsPoliciesGetEffectivePolicyCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Gets the effective `Policy` on a resource. This is the result of merging `Policies` in the resource hierarchy and evaluating conditions. The returned `Policy` will not have an `etag` or `condition` set because it is a computed `Policy` across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded.", // "flatPath": "v2/projects/{projectsId}/policies/{policiesId}:getEffectivePolicy", // "httpMethod": "GET", // "id": "orgpolicy.projects.policies.getEffectivePolicy", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Required. The effective policy to compute. See `Policy` for naming rules.", // "location": "path", // "pattern": "^projects/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}:getEffectivePolicy", // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // method id "orgpolicy.projects.policies.list": type ProjectsPoliciesListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Retrieves all of the `Policies` that exist on a particular // resource. // // - parent: The target Cloud resource that parents the set of // constraints and policies that will be returned from this call. Must // be in one of the following forms: * `projects/{project_number}` * // `projects/{project_id}` * `folders/{folder_id}` * // `organizations/{organization_id}`. func (r *ProjectsPoliciesService) List(parent string) *ProjectsPoliciesListCall { c := &ProjectsPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": 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. func (c *ProjectsPoliciesListCall) PageSize(pageSize int64) *ProjectsPoliciesListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": 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. func (c *ProjectsPoliciesListCall) PageToken(pageToken string) *ProjectsPoliciesListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsPoliciesListCall) Fields(s ...googleapi.Field) *ProjectsPoliciesListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets the optional parameter which makes the operation // fail if the object's ETag matches the given value. This is useful for // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. func (c *ProjectsPoliciesListCall) IfNoneMatch(entityTag string) *ProjectsPoliciesListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ProjectsPoliciesListCall) Context(ctx context.Context) *ProjectsPoliciesListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ProjectsPoliciesListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsPoliciesListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/policies") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.projects.policies.list" call. // Exactly one of *GoogleCloudOrgpolicyV2ListPoliciesResponse or error // will be non-nil. Any non-2xx status code is an error. Response // headers are in either // *GoogleCloudOrgpolicyV2ListPoliciesResponse.ServerResponse.Header or // (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsPoliciesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2ListPoliciesResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2ListPoliciesResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Retrieves all of the `Policies` that exist on a particular resource.", // "flatPath": "v2/projects/{projectsId}/policies", // "httpMethod": "GET", // "id": "orgpolicy.projects.policies.list", // "parameterOrder": [ // "parent" // ], // "parameters": { // "pageSize": { // "description": "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.", // "format": "int32", // "location": "query", // "type": "integer" // }, // "pageToken": { // "description": "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.", // "location": "query", // "type": "string" // }, // "parent": { // "description": "Required. The target Cloud resource that parents the set of constraints and policies that will be returned from this call. Must be in one of the following forms: * `projects/{project_number}` * `projects/{project_id}` * `folders/{folder_id}` * `organizations/{organization_id}`", // "location": "path", // "pattern": "^projects/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+parent}/policies", // "response": { // "$ref": "GoogleCloudOrgpolicyV2ListPoliciesResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsPoliciesListCall) Pages(ctx context.Context, f func(*GoogleCloudOrgpolicyV2ListPoliciesResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } // method id "orgpolicy.projects.policies.patch": type ProjectsPoliciesPatchCall struct { s *Service name string googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a Policy. Returns a `google.rpc.Status` with // `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not // exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` // if the etag supplied in the request does not match the persisted etag // of the policy Note: the supplied policy will perform a full overwrite // of all fields. // // - name: Immutable. The resource name of the Policy. Must be one of // the following forms, where constraint_name is the name of the // constraint which this Policy configures: * // `projects/{project_number}/policies/{constraint_name}` * // `folders/{folder_id}/policies/{constraint_name}` * // `organizations/{organization_id}/policies/{constraint_name}` For // example, "projects/123/policies/compute.disableSerialPortAccess". // Note: `projects/{project_id}/policies/{constraint_name}` is also an // acceptable name for API requests, but responses will return the // name using the equivalent project number. func (r *ProjectsPoliciesService) Patch(name string, googlecloudorgpolicyv2policy *GoogleCloudOrgpolicyV2Policy) *ProjectsPoliciesPatchCall { c := &ProjectsPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.googlecloudorgpolicyv2policy = googlecloudorgpolicyv2policy return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. func (c *ProjectsPoliciesPatchCall) Fields(s ...googleapi.Field) *ProjectsPoliciesPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. func (c *ProjectsPoliciesPatchCall) Context(ctx context.Context) *ProjectsPoliciesPatchCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. func (c *ProjectsPoliciesPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsPoliciesPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudorgpolicyv2policy) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "orgpolicy.projects.policies.patch" call. // Exactly one of *GoogleCloudOrgpolicyV2Policy or error will be // non-nil. Any non-2xx status code is an error. Response headers are in // either *GoogleCloudOrgpolicyV2Policy.ServerResponse.Header or (if a // response was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. func (c *ProjectsPoliciesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudOrgpolicyV2Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, &googleapi.Error{ Code: res.StatusCode, Header: res.Header, } } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, err } ret := &GoogleCloudOrgpolicyV2Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil // { // "description": "Updates a Policy. Returns a `google.rpc.Status` with `google.rpc.Code.NOT_FOUND` if the constraint or the policy do not exist. Returns a `google.rpc.Status` with `google.rpc.Code.ABORTED` if the etag supplied in the request does not match the persisted etag of the policy Note: the supplied policy will perform a full overwrite of all fields.", // "flatPath": "v2/projects/{projectsId}/policies/{policiesId}", // "httpMethod": "PATCH", // "id": "orgpolicy.projects.policies.patch", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { // "description": "Immutable. The resource name of the Policy. Must be one of the following forms, where constraint_name is the name of the constraint which this Policy configures: * `projects/{project_number}/policies/{constraint_name}` * `folders/{folder_id}/policies/{constraint_name}` * `organizations/{organization_id}/policies/{constraint_name}` For example, \"projects/123/policies/compute.disableSerialPortAccess\". Note: `projects/{project_id}/policies/{constraint_name}` is also an acceptable name for API requests, but responses will return the name using the equivalent project number.", // "location": "path", // "pattern": "^projects/[^/]+/policies/[^/]+$", // "required": true, // "type": "string" // } // }, // "path": "v2/{+name}", // "request": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "response": { // "$ref": "GoogleCloudOrgpolicyV2Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] // } }