Documentation ¶
Overview ¶
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Package cloudresourcemanager defines operations in the declarative SDK.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Package cloudresourcemanager contains support code for the CRM service.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2022 Google LLC. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- Variables
- func DCLFolderSchema() *dcl.Schema
- func DCLProjectSchema() *dcl.Schema
- func DCLTagKeySchema() *dcl.Schema
- type Client
- func (c *Client) ApplyFolder(ctx context.Context, rawDesired *Folder, opts ...dcl.ApplyOption) (*Folder, error)
- func (c *Client) ApplyProject(ctx context.Context, rawDesired *Project, opts ...dcl.ApplyOption) (*Project, error)
- func (c *Client) ApplyTagKey(ctx context.Context, rawDesired *TagKey, opts ...dcl.ApplyOption) (*TagKey, error)
- func (c *Client) DeleteAllFolder(ctx context.Context, parent string, filter func(*Folder) bool) error
- func (c *Client) DeleteAllProject(ctx context.Context, filter func(*Project) bool) error
- func (c *Client) DeleteFolder(ctx context.Context, r *Folder) error
- func (c *Client) DeleteProject(ctx context.Context, r *Project) error
- func (c *Client) DeleteTagKey(ctx context.Context, r *TagKey) error
- func (c *Client) GetFolder(ctx context.Context, r *Folder) (*Folder, error)
- func (c *Client) GetProject(ctx context.Context, r *Project) (*Project, error)
- func (c *Client) GetTagKey(ctx context.Context, r *TagKey) (*TagKey, error)
- func (c *Client) ListFolder(ctx context.Context, parent string) (*FolderList, error)
- func (c *Client) ListFolderWithMaxResults(ctx context.Context, parent string, pageSize int32) (*FolderList, error)
- func (c *Client) ListProject(ctx context.Context) (*ProjectList, error)
- func (c *Client) ListProjectWithMaxResults(ctx context.Context, pageSize int32) (*ProjectList, error)
- type Folder
- func (r *Folder) Describe() dcl.ServiceTypeVersion
- func (r *Folder) GetPolicy(basePath string) (string, string, *bytes.Buffer, error)
- func (r *Folder) IAMPolicyVersion() int
- func (r *Folder) ID() (string, error)
- func (r *Folder) SetPolicyURL(userBasePath string) string
- func (r *Folder) SetPolicyVerb() string
- func (r *Folder) String() string
- type FolderList
- type FolderStateEnum
- type Project
- func (r *Project) Describe() dcl.ServiceTypeVersion
- func (r *Project) GetPolicy(basePath string) (string, string, *bytes.Buffer, error)
- func (r *Project) IAMPolicyVersion() int
- func (r *Project) ID() (string, error)
- func (r *Project) SetPolicyURL(userBasePath string) string
- func (r *Project) SetPolicyVerb() string
- func (r *Project) String() string
- type ProjectLifecycleStateEnum
- type ProjectList
- type TagKey
- func (r *TagKey) Describe() dcl.ServiceTypeVersion
- func (r *TagKey) GetPolicy(basePath string) (string, string, *bytes.Buffer, error)
- func (r *TagKey) IAMPolicyVersion() int
- func (r *TagKey) ID() (string, error)
- func (r *TagKey) SetPolicyURL(userBasePath string) string
- func (r *TagKey) SetPolicyVerb() string
- func (r *TagKey) String() string
- type TagKeyList
- type TagKeyPurposeEnum
Constants ¶
const FolderMaxPage = -1
const ProjectMaxPage = -1
const TagKeyMaxPage = -1
Variables ¶
var YAML_folder = []byte("info:\n title: CloudResourceManager/Folder\n description: The CloudResourceManager Folder resource\n x-dcl-struct-name: Folder\n x-dcl-has-iam: true\npaths:\n get:\n description: The function used to get information about a Folder\n parameters:\n - name: Folder\n required: true\n description: A full instance of a Folder\n apply:\n description: The function used to apply information about a Folder\n parameters:\n - name: Folder\n required: true\n description: A full instance of a Folder\n delete:\n description: The function used to delete a Folder\n parameters:\n - name: Folder\n required: true\n description: A full instance of a Folder\n deleteAll:\n description: The function used to delete all Folder\n parameters:\n - name: parent\n required: true\n schema:\n type: string\n list:\n description: The function used to list information about many Folder\n parameters:\n - name: parent\n required: true\n schema:\n type: string\ncomponents:\n schemas:\n Folder:\n title: Folder\n x-dcl-id: folders/{{name}}\n x-dcl-has-iam: true\n type: object\n required:\n - parent\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Timestamp when the Folder was created. Assigned\n by the server.\n x-kubernetes-immutable: true\n deleteTime:\n type: string\n format: date-time\n x-dcl-go-name: DeleteTime\n readOnly: true\n description: Output only. Timestamp when the Folder was requested to be\n deleted.\n x-kubernetes-immutable: true\n displayName:\n type: string\n x-dcl-go-name: DisplayName\n description: 'The folder''s display name. A folder''s display name must\n be unique amongst its siblings, e.g. no two folders with the same parent\n can share the same display name. The display name must start and end with\n a letter or digit, may contain letters, digits, spaces, hyphens and underscores\n and can be no longer than 30 characters. This is captured by the regular\n expression: `[p{L}p{N}]([p{L}p{N}_- ]{0,28}[p{L}p{N}])?`.'\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Output only. A checksum computed by the server based on the\n current value of the Folder resource. This may be sent on update and delete\n requests to ensure the client has an up-to-date value before proceeding.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Output only. The resource name of the Folder.\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: Required. The Folder's parent's resource name. Updates to the\n folder's parent must be performed via MoveFolder.\n x-dcl-forward-slash-allowed: true\n state:\n type: string\n x-dcl-go-name: State\n x-dcl-go-type: FolderStateEnum\n readOnly: true\n description: 'Output only. The lifecycle state of the folder. Possible values:\n LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED'\n x-kubernetes-immutable: true\n enum:\n - LIFECYCLE_STATE_UNSPECIFIED\n - ACTIVE\n - DELETE_REQUESTED\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. Timestamp when the Folder was last modified.\n x-kubernetes-immutable: true\n")
blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/cloudresourcemanager/folder.yaml
var YAML_project = []byte("info:\n title: CloudResourceManager/Project\n description: The CloudResourceManager Project resource\n x-dcl-struct-name: Project\n x-dcl-has-iam: true\npaths:\n get:\n description: The function used to get information about a Project\n parameters:\n - name: Project\n required: true\n description: A full instance of a Project\n apply:\n description: The function used to apply information about a Project\n parameters:\n - name: Project\n required: true\n description: A full instance of a Project\n delete:\n description: The function used to delete a Project\n parameters:\n - name: Project\n required: true\n description: A full instance of a Project\n deleteAll:\n description: The function used to delete all Project\n parameters: []\n list:\n description: The function used to list information about many Project\n parameters: []\ncomponents:\n schemas:\n Project:\n title: Project\n x-dcl-id: projects/{{name}}\n x-dcl-labels: labels\n x-dcl-has-iam: true\n type: object\n properties:\n displayname:\n type: string\n x-dcl-go-name: DisplayName\n description: 'The optional user-assigned display name of the Project. When\n present it must be between 4 to 30 characters. Allowed characters are:\n lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote,\n space, and exclamation point. Example: `My Project` Read-write.'\n x-kubernetes-immutable: true\n labels:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: Labels\n description: User-specified labels.\n lifecycleState:\n type: string\n x-dcl-go-name: LifecycleState\n x-dcl-go-type: ProjectLifecycleStateEnum\n readOnly: true\n description: 'The Project lifecycle state. Read-only. Possible values: LIFECYCLE_STATE_UNSPECIFIED,\n ACTIVE, DELETE_REQUESTED, DELETE_IN_PROGRESS'\n x-kubernetes-immutable: true\n enum:\n - LIFECYCLE_STATE_UNSPECIFIED\n - ACTIVE\n - DELETE_REQUESTED\n - DELETE_IN_PROGRESS\n name:\n type: string\n x-dcl-go-name: Name\n description: 'The unique, user-assigned ID of the Project. It must be 6\n to 30 lowercase letters, digits, or hyphens. It must start with a letter.\n Trailing hyphens are prohibited. Example: `tokyo-rain-123` Read-only after\n creation.'\n x-kubernetes-immutable: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: 'An optional reference to a parent Resource. Supported values\n include organizations/<org_id> and folders/<folder_id>. Once set, the\n parent cannot be cleared. The `parent` can be set on creation or using\n the `UpdateProject` method; the end user must have the `resourcemanager.projects.create`\n permission on the parent. Read-write. '\n x-kubernetes-immutable: true\n projectNumber:\n type: integer\n format: int64\n x-dcl-go-name: ProjectNumber\n readOnly: true\n description: 'The number uniquely identifying the project. Example: `415104041262`\n Read-only. '\n x-kubernetes-immutable: true\n")
blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/cloudresourcemanager/project.yaml
var YAML_tag_key = []byte("info:\n title: CloudResourceManager/TagKey\n description: The CloudResourceManager TagKey resource\n x-dcl-struct-name: TagKey\n x-dcl-has-iam: true\npaths:\n get:\n description: The function used to get information about a TagKey\n parameters:\n - name: TagKey\n required: true\n description: A full instance of a TagKey\n apply:\n description: The function used to apply information about a TagKey\n parameters:\n - name: TagKey\n required: true\n description: A full instance of a TagKey\n delete:\n description: The function used to delete a TagKey\n parameters:\n - name: TagKey\n required: true\n description: A full instance of a TagKey\ncomponents:\n schemas:\n TagKey:\n title: TagKey\n x-dcl-id: tagKeys/{{name}}\n x-dcl-has-iam: true\n type: object\n required:\n - parent\n - shortName\n properties:\n createTime:\n type: string\n format: date-time\n x-dcl-go-name: CreateTime\n readOnly: true\n description: Output only. Creation time.\n x-kubernetes-immutable: true\n description:\n type: string\n x-dcl-go-name: Description\n description: Optional. User-assigned description of the TagKey. Must not\n exceed 256 characters. Read-write.\n etag:\n type: string\n x-dcl-go-name: Etag\n readOnly: true\n description: Optional. Entity tag which users can pass to prevent race conditions.\n x-kubernetes-immutable: true\n name:\n type: string\n x-dcl-go-name: Name\n description: Immutable. The generated numeric id for the TagKey.\n x-kubernetes-immutable: true\n x-dcl-server-generated-parameter: true\n namespacedName:\n type: string\n x-dcl-go-name: NamespacedName\n readOnly: true\n description: Output only. Immutable. Namespaced name of the TagKey.\n x-kubernetes-immutable: true\n parent:\n type: string\n x-dcl-go-name: Parent\n description: Immutable. The resource name of the new TagKey's parent. Must\n be of the form `organizations/{org_id}`.\n x-kubernetes-immutable: true\n x-dcl-forward-slash-allowed: true\n purpose:\n type: string\n x-dcl-go-name: Purpose\n x-dcl-go-type: TagKeyPurposeEnum\n description: 'Optional. A purpose denotes that this Tag is intended for\n use in policies of a specific policy engine, and will involve that policy\n engine in management operations involving this Tag. A purpose does not\n grant a policy engine exclusive rights to the Tag, and it may be referenced\n by other policy engines. A purpose cannot be changed once set. Possible\n values: PURPOSE_UNSPECIFIED, GCE_FIREWALL'\n x-kubernetes-immutable: true\n enum:\n - PURPOSE_UNSPECIFIED\n - GCE_FIREWALL\n purposeData:\n type: object\n additionalProperties:\n type: string\n x-dcl-go-name: PurposeData\n description: Optional. Purpose data corresponds to the policy system that\n the tag is intended for. See documentation for `Purpose` for formatting\n of this field. Purpose data cannot be changed once set.\n x-kubernetes-immutable: true\n shortName:\n type: string\n x-dcl-go-name: ShortName\n description: Required. Immutable. The user friendly name for a TagKey. The\n short name should be unique for TagKeys within the same tag namespace.\n The short name must be 1-63 characters, beginning and ending with an alphanumeric\n character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and\n alphanumerics between.\n x-kubernetes-immutable: true\n updateTime:\n type: string\n format: date-time\n x-dcl-go-name: UpdateTime\n readOnly: true\n description: Output only. Update time.\n x-kubernetes-immutable: true\n")
blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/cloudresourcemanager/tag_key.yaml
Functions ¶
func DCLFolderSchema ¶ added in v1.10.3
func DCLProjectSchema ¶ added in v1.10.3
func DCLTagKeySchema ¶ added in v1.10.3
Types ¶
type Client ¶
The Client is the base struct of all operations. This will receive the Get, Delete, List, and Apply operations on all resources.
func (*Client) ApplyFolder ¶
func (*Client) ApplyProject ¶
func (*Client) ApplyTagKey ¶
func (*Client) DeleteAllFolder ¶
func (c *Client) DeleteAllFolder(ctx context.Context, parent string, filter func(*Folder) bool) error
DeleteAllFolder deletes all resources that the filter functions returns true on.
func (*Client) DeleteAllProject ¶
DeleteAllProject deletes all resources that the filter functions returns true on.
func (*Client) DeleteProject ¶
func (*Client) GetProject ¶
func (*Client) ListFolder ¶
func (*Client) ListFolderWithMaxResults ¶
func (*Client) ListProject ¶
func (c *Client) ListProject(ctx context.Context) (*ProjectList, error)
func (*Client) ListProjectWithMaxResults ¶
type Folder ¶
type Folder struct { Name *string `json:"name"` Parent *string `json:"parent"` DisplayName *string `json:"displayName"` State *FolderStateEnum `json:"state"` CreateTime *string `json:"createTime"` UpdateTime *string `json:"updateTime"` DeleteTime *string `json:"deleteTime"` Etag *string `json:"etag"` }
func (*Folder) Describe ¶
func (r *Folder) Describe() dcl.ServiceTypeVersion
Describe returns a simple description of this resource to ensure that automated tools can identify it.
func (*Folder) IAMPolicyVersion ¶
func (*Folder) SetPolicyURL ¶
func (*Folder) SetPolicyVerb ¶
type FolderList ¶
type FolderList struct { Items []*Folder // contains filtered or unexported fields }
func (*FolderList) HasNext ¶
func (l *FolderList) HasNext() bool
type FolderStateEnum ¶
type FolderStateEnum string
The enum FolderStateEnum.
func FolderStateEnumRef ¶
func FolderStateEnumRef(s string) *FolderStateEnum
FolderStateEnumRef returns a *FolderStateEnum with the value of string s If the empty string is provided, nil is returned.
func (FolderStateEnum) Validate ¶
func (v FolderStateEnum) Validate() error
type Project ¶
type Project struct { Labels map[string]string `json:"labels"` LifecycleState *ProjectLifecycleStateEnum `json:"lifecycleState"` DisplayName *string `json:"displayname"` Parent *string `json:"parent"` Name *string `json:"name"` ProjectNumber *int64 `json:"projectNumber"` }
func (*Project) Describe ¶
func (r *Project) Describe() dcl.ServiceTypeVersion
Describe returns a simple description of this resource to ensure that automated tools can identify it.
func (*Project) IAMPolicyVersion ¶
func (*Project) SetPolicyURL ¶
func (*Project) SetPolicyVerb ¶
type ProjectLifecycleStateEnum ¶
type ProjectLifecycleStateEnum string
The enum ProjectLifecycleStateEnum.
func ProjectLifecycleStateEnumRef ¶
func ProjectLifecycleStateEnumRef(s string) *ProjectLifecycleStateEnum
ProjectLifecycleStateEnumRef returns a *ProjectLifecycleStateEnum with the value of string s If the empty string is provided, nil is returned.
func (ProjectLifecycleStateEnum) Validate ¶
func (v ProjectLifecycleStateEnum) Validate() error
type ProjectList ¶
type ProjectList struct { Items []*Project // contains filtered or unexported fields }
func (*ProjectList) HasNext ¶
func (l *ProjectList) HasNext() bool
type TagKey ¶
type TagKey struct { Name *string `json:"name"` Parent *string `json:"parent"` ShortName *string `json:"shortName"` NamespacedName *string `json:"namespacedName"` Description *string `json:"description"` CreateTime *string `json:"createTime"` UpdateTime *string `json:"updateTime"` Etag *string `json:"etag"` Purpose *TagKeyPurposeEnum `json:"purpose"` PurposeData map[string]string `json:"purposeData"` }
func (*TagKey) Describe ¶
func (r *TagKey) Describe() dcl.ServiceTypeVersion
Describe returns a simple description of this resource to ensure that automated tools can identify it.
func (*TagKey) IAMPolicyVersion ¶
func (*TagKey) SetPolicyURL ¶
func (*TagKey) SetPolicyVerb ¶
type TagKeyList ¶
type TagKeyList struct { Items []*TagKey // contains filtered or unexported fields }
type TagKeyPurposeEnum ¶
type TagKeyPurposeEnum string
The enum TagKeyPurposeEnum.
func TagKeyPurposeEnumRef ¶
func TagKeyPurposeEnumRef(s string) *TagKeyPurposeEnum
TagKeyPurposeEnumRef returns a *TagKeyPurposeEnum with the value of string s If the empty string is provided, nil is returned.
func (TagKeyPurposeEnum) Validate ¶
func (v TagKeyPurposeEnum) Validate() error