Documentation
¶
Overview ¶
Copyright 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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 2026 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
- func DCLTagValueSchema() *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) ApplyTagValue(ctx context.Context, rawDesired *TagValue, opts ...dcl.ApplyOption) (*TagValue, error)
- func (c *Client) DeleteAllFolder(ctx context.Context, parent string, filter func(*Folder) bool) error
- func (c *Client) DeleteAllProject(ctx context.Context, parent string, 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) DeleteTagValue(ctx context.Context, r *TagValue) 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) GetTagValue(ctx context.Context, r *TagValue) (*TagValue, 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, parent string) (*ProjectList, error)
- func (c *Client) ListProjectWithMaxResults(ctx context.Context, parent string, 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
- type TagValue
- func (r *TagValue) Describe() dcl.ServiceTypeVersion
- func (r *TagValue) GetPolicy(basePath string) (string, string, *bytes.Buffer, error)
- func (r *TagValue) IAMPolicyVersion() int
- func (r *TagValue) ID() (string, error)
- func (r *TagValue) SetPolicyURL(userBasePath string) string
- func (r *TagValue) SetPolicyVerb() string
- func (r *TagValue) String() string
- type TagValueList
Constants ¶
const FolderMaxPage = -1
const ProjectMaxPage = -1
const TagKeyMaxPage = -1
const TagValueMaxPage = -1
Variables ¶
var YAML_folder []byte
var YAML_project []byte
var YAML_tag_key []byte
var YAML_tag_value []byte
Functions ¶
func DCLFolderSchema ¶ added in v1.10.3
func DCLProjectSchema ¶ added in v1.10.3
func DCLTagKeySchema ¶ added in v1.10.3
func DCLTagValueSchema ¶ added in v1.24.0
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) ApplyTagValue ¶ added in v1.24.0
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 ¶
func (c *Client) DeleteAllProject(ctx context.Context, parent string, filter func(*Project) bool) error
DeleteAllProject deletes all resources that the filter functions returns true on.
func (*Client) DeleteProject ¶
func (*Client) DeleteTagValue ¶ added in v1.24.0
func (*Client) GetProject ¶
func (*Client) GetTagValue ¶ added in v1.24.0
func (*Client) ListFolder ¶
func (*Client) ListFolderWithMaxResults ¶
func (*Client) ListProject ¶
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
type TagValue ¶ added in v1.24.0
type TagValue 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"`
}
func (*TagValue) Describe ¶ added in v1.24.0
func (r *TagValue) Describe() dcl.ServiceTypeVersion
Describe returns a simple description of this resource to ensure that automated tools can identify it.
func (*TagValue) IAMPolicyVersion ¶ added in v1.24.0
func (*TagValue) SetPolicyURL ¶ added in v1.24.0
func (*TagValue) SetPolicyVerb ¶ added in v1.24.0
type TagValueList ¶ added in v1.24.0
type TagValueList struct {
Items []*TagValue
// contains filtered or unexported fields
}
Source Files
¶
- client.go
- folder.go
- folder_internal.go
- folder_schema.go
- folder_yaml_embed.go
- project.go
- project_internal.go
- project_schema.go
- project_yaml_embed.go
- resourcemanager_utils.go
- tag_key.go
- tag_key_internal.go
- tag_key_schema.go
- tag_key_yaml_embed.go
- tag_value.go
- tag_value_internal.go
- tag_value_schema.go
- tag_value_yaml_embed.go