Documentation ¶
Overview ¶
Package cloudresourcemanager provides access to the Google Cloud Resource Manager API.
See https://cloud.google.com/resource-manager
Usage example:
import "google.golang.org/api/cloudresourcemanager/v1beta1" ... cloudresourcemanagerService, err := cloudresourcemanager.New(oauthHttpClient)
Index ¶
- Constants
- type Binding
- type CloudAuditOptions
- type Condition
- type CounterOptions
- type DataAccessOptions
- type Empty
- type GetIamPolicyRequest
- type ListProjectsResponse
- type LogConfig
- type Policy
- type Project
- type ProjectsCreateCall
- type ProjectsDeleteCall
- type ProjectsGetCall
- type ProjectsGetIamPolicyCall
- type ProjectsListCall
- func (c *ProjectsListCall) Do() (*ListProjectsResponse, error)
- func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall
- func (c *ProjectsListCall) Filter(filter string) *ProjectsListCall
- func (c *ProjectsListCall) PageSize(pageSize int64) *ProjectsListCall
- func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall
- type ProjectsService
- func (r *ProjectsService) Create(project *Project) *ProjectsCreateCall
- func (r *ProjectsService) Delete(projectId string) *ProjectsDeleteCall
- func (r *ProjectsService) Get(projectId string) *ProjectsGetCall
- func (r *ProjectsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsGetIamPolicyCall
- func (r *ProjectsService) List() *ProjectsListCall
- func (r *ProjectsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSetIamPolicyCall
- func (r *ProjectsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsTestIamPermissionsCall
- func (r *ProjectsService) Undelete(projectId string) *ProjectsUndeleteCall
- func (r *ProjectsService) Update(projectId string, project *Project) *ProjectsUpdateCall
- type ProjectsSetIamPolicyCall
- type ProjectsTestIamPermissionsCall
- type ProjectsUndeleteCall
- type ProjectsUpdateCall
- type Rule
- type Service
- type SetIamPolicyRequest
- type TestIamPermissionsRequest
- type TestIamPermissionsResponse
Constants ¶
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
OAuth2 scopes used by this API.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Binding ¶
type Binding struct { // Members: Format of member entries: 1. allUsers Matches any requesting // principal (users, service accounts or anonymous). 2. // allAuthenticatedUsers Matches any requesting authenticated principal // (users or service accounts). 3. user:{emailid} A google user account // using an email address. For example alice@gmail.com, joe@example.com // 4. serviceAccount:{emailid} An service account email. 5. // group:{emailid} A google group with an email address. For example // auth-ti-cloud@google.com 6. domain:{domain} A Google Apps domain // name. For example google.com, example.com Members []string `json:"members,omitempty"` // Role: The name of the role to which the members should be bound. // Examples: "roles/viewer", "roles/editor", "roles/owner". Required Role string `json:"role,omitempty"` }
Binding: Associates members with roles. See below for allowed formats of members.
type CloudAuditOptions ¶
type CloudAuditOptions struct { }
CloudAuditOptions: Write a Cloud Audit log
type Condition ¶
type Condition struct { // Iam: Trusted attributes supplied by the IAM system. // // Possible values: // "NO_ATTR" // "AUTHORITY" // "ATTRIBUTION" Iam string `json:"iam,omitempty"` // Op: An operator to apply the subject with. // // Possible values: // "NO_OP" // "EQUALS" // "NOT_EQUALS" // "IN" // "NOT_IN" // "DISCHARGED" Op string `json:"op,omitempty"` // Svc: Trusted attributes discharged by the service. Svc string `json:"svc,omitempty"` // Sys: Trusted attributes supplied by any service that owns resources // and uses the IAM system for access control. // // Possible values: // "NO_ATTR" // "REGION" // "SERVICE" // "NAME" // "IP" Sys string `json:"sys,omitempty"` // Value: The object of the condition. Exactly one of these must be set. Value string `json:"value,omitempty"` // Values: The objects of the condition. This is mutually exclusive with // 'value'. Values []string `json:"values,omitempty"` }
Condition: A condition to be met.
type CounterOptions ¶
type CounterOptions struct { // Field: The field value to attribute. Field string `json:"field,omitempty"` // Metric: The metric to update. Metric string `json:"metric,omitempty"` }
CounterOptions: Options for counters
type DataAccessOptions ¶
type DataAccessOptions struct { }
DataAccessOptions: Write a Data Access (Gin) log
type Empty ¶
type Empty struct { }
Empty: A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
type GetIamPolicyRequest ¶
type GetIamPolicyRequest struct { }
GetIamPolicyRequest: Request message for `GetIamPolicy` method.
type ListProjectsResponse ¶
type ListProjectsResponse struct { // NextPageToken: Pagination token. If the result set is too large to // fit in a single response, this token is returned. It encodes the // position of the current result cursor. Feeding this value into a new // list request with the `page_token` parameter gives the next page of // the results. When `next_page_token` is not filled in, there is no // next page and the list returned is the last page in the result set. // Pagination tokens have a limited lifetime. Note: pagination is not // yet supported; the server will not set this field. NextPageToken string `json:"nextPageToken,omitempty"` // Projects: The list of projects that matched the list filter. This // list can be paginated. Projects []*Project `json:"projects,omitempty"` }
ListProjectsResponse: A page of the response received from the [ListProjects][google.cloudresourcemanager.projects.v1beta1.DeveloperP rojects.ListProjects] method. A paginated response where more pages are available has `next_page_token` set. This token can be used in a subsequent request to retrieve the next request page.
type LogConfig ¶
type LogConfig struct { // CloudAudit: Cloud audit options. CloudAudit *CloudAuditOptions `json:"cloudAudit,omitempty"` // Counter: Counter options. Counter *CounterOptions `json:"counter,omitempty"` // DataAccess: Data access options. DataAccess *DataAccessOptions `json:"dataAccess,omitempty"` }
LogConfig: Specifies what kind of log the caller must write Increment a streamz counter with the specified metric and field names. Metric names should start with a '/', generally be lowercase-only, and end in "_count". Field names should not contain an initial slash. The actual exported metric names will have "/iam/policy" prepended. Field names correspond to IAM request parameters and field values are their respective values. At present only "iam_principal", corresponding to IAMContext.principal, is supported. Examples: counter { metric: "/debug_access_count" field: "iam_principal" } ==> increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]} At this time we do not support: * multiple field names (though this may be supported in the future) * decrementing the counter * incrementing it by anything other than 1
type Policy ¶
type Policy struct { // Bindings: It is an error to specify multiple bindings for the same // role. It is an error to specify a binding with no members. Bindings []*Binding `json:"bindings,omitempty"` // Etag: Can be used to perform a read-modify-write. Etag string `json:"etag,omitempty"` Rules []*Rule `json:"rules,omitempty"` // Version: The policy language version. The version of the policy is // represented by the etag. The default version is 0. Version int64 `json:"version,omitempty"` }
Policy: # Overview The `Policy` defines an access control policy language. It is used to define policies that are attached to resources like files, folders, VMs, etc. # Policy structure A `Policy` consists of a list of bindings. A `Binding` binds a set of members to a role, where the members include user accounts, user groups, user domains, and service accounts. A 'role' is a named set of permissions, defined by IAM. The definition of a role is outside the policy. A permission check first determines the roles that include the specified permission, and then determines if the principal specified is a member of a binding to at least one of these roles. The membership check is recursive when a group is bound to a role. Policy examples: ``` { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:frontend@example.iam.gserviceaccounts.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } ```
type Project ¶
type Project struct { // CreateTime: Creation time. Read-only. CreateTime string `json:"createTime,omitempty"` // Labels: The labels associated with this project. Label keys must be // between 1 and 63 characters long and must conform to the following // regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values // must be between 0 and 63 characters long and must conform to the // regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than // 256 labels can be associated with a given resource. Clients should // store labels in a representation such as JSON that does not depend on // specific characters being disallowed. Example: "environment" : "dev" // Read-write. Labels map[string]string `json:"labels,omitempty"` // LifecycleState: The project lifecycle state. Read-only. // // Possible values: // "LIFECYCLE_STATE_UNSPECIFIED" // "ACTIVE" // "DELETE_REQUESTED" // "DELETE_IN_PROGRESS" LifecycleState string `json:"lifecycleState,omitempty"` // Name: The user-assigned name of the project. This field is optional // and can remain unset. Allowed characters are: lowercase and uppercase // letters, numbers, hyphen, single-quote, double-quote, space, and // exclamation point. Example: My Project Read-write. Name string `json:"name,omitempty"` // ProjectId: The unique, user-assigned ID of the project. It must be 6 // to 30 lowercase letters, digits, or hyphens. It must start with a // letter. Trailing hyphens are prohibited. Example: tokyo-rain-123 // Read-only after creation. ProjectId string `json:"projectId,omitempty"` // ProjectNumber: The number uniquely identifying the project. Example: // 415104041262 Read-only. ProjectNumber int64 `json:"projectNumber,omitempty,string"` }
Project: A Project is a high-level Google Cloud Platform entity. It is a container for ACLs, APIs, AppEngine Apps, VMs, and other Google Cloud Platform resources.
type ProjectsCreateCall ¶
type ProjectsCreateCall struct {
// contains filtered or unexported fields
}
func (*ProjectsCreateCall) Do ¶
func (c *ProjectsCreateCall) Do() (*Project, error)
func (*ProjectsCreateCall) Fields ¶
func (c *ProjectsCreateCall) Fields(s ...googleapi.Field) *ProjectsCreateCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type ProjectsDeleteCall ¶
type ProjectsDeleteCall struct {
// contains filtered or unexported fields
}
func (*ProjectsDeleteCall) Do ¶
func (c *ProjectsDeleteCall) Do() (*Empty, error)
func (*ProjectsDeleteCall) Fields ¶
func (c *ProjectsDeleteCall) Fields(s ...googleapi.Field) *ProjectsDeleteCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type ProjectsGetCall ¶
type ProjectsGetCall struct {
// contains filtered or unexported fields
}
func (*ProjectsGetCall) Do ¶
func (c *ProjectsGetCall) Do() (*Project, error)
func (*ProjectsGetCall) Fields ¶
func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type ProjectsGetIamPolicyCall ¶
type ProjectsGetIamPolicyCall struct {
// contains filtered or unexported fields
}
func (*ProjectsGetIamPolicyCall) Do ¶
func (c *ProjectsGetIamPolicyCall) Do() (*Policy, error)
func (*ProjectsGetIamPolicyCall) Fields ¶
func (c *ProjectsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsGetIamPolicyCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type ProjectsListCall ¶
type ProjectsListCall struct {
// contains filtered or unexported fields
}
func (*ProjectsListCall) Do ¶
func (c *ProjectsListCall) Do() (*ListProjectsResponse, error)
func (*ProjectsListCall) Fields ¶
func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
func (*ProjectsListCall) Filter ¶
func (c *ProjectsListCall) Filter(filter string) *ProjectsListCall
Filter sets the optional parameter "filter": An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: + `name` + `id` + labels.key where *key* is the name of a label Some examples of using labels as filters: |Filter|Description| |------|-----------| |name:*|The project has a name.| |name:Howl|The project's name is `Howl` or `howl`.| |name:HOWL|Equivalent to above.| |NAME:howl|Equivalent to above.| |labels.color:*|The project has the label `color`.| |labels.color:red|The project's label `color` has the value `red`.| |labels.color:red label.size:big|The project's label `color` has the value `red` and its label `size` has the value `big`.
func (*ProjectsListCall) PageSize ¶
func (c *ProjectsListCall) PageSize(pageSize int64) *ProjectsListCall
PageSize sets the optional parameter "pageSize": The maximum number of Projects to return in the response. The server can return fewer projects than requested. If unspecified, server picks an appropriate default. Note: pagination is not yet supported; the server ignores this field.
func (*ProjectsListCall) PageToken ¶
func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall
PageToken sets the optional parameter "pageToken": A pagination token returned from a previous call to ListProject that indicates from where listing should continue. Note: pagination is not yet supported; the server ignores this field.
type ProjectsService ¶
type ProjectsService struct {
// contains filtered or unexported fields
}
func NewProjectsService ¶
func NewProjectsService(s *Service) *ProjectsService
func (*ProjectsService) Create ¶
func (r *ProjectsService) Create(project *Project) *ProjectsCreateCall
Create: Creates a project resource. Initially, the project resource is owned by its creator exclusively. The creator can later grant permission to others to read or update the project. Several APIs are activated automatically for the project, including Google Cloud Storage.
func (*ProjectsService) Delete ¶
func (r *ProjectsService) Delete(projectId string) *ProjectsDeleteCall
Delete: Marks the project identified by the specified `project_id` (for example, `my-project-123`) for deletion. This method will only affect the project if the following criteria are met: + The project does not have a billing account associated with it. + The project has a lifecycle state of [ACTIVE][google.cloudresourcemanager.projects.v1beta1.LifecycleState.A CTIVE]. This method changes the project's lifecycle state from [ACTIVE][google.cloudresourcemanager.projects.v1beta1.LifecycleState.A CTIVE] to [DELETE_REQUESTED] [google.cloudresourcemanager.projects.v1beta1.LifecycleState.DELETE_RE QUESTED]. The deletion starts at an unspecified time, at which point the lifecycle state changes to [DELETE_IN_PROGRESS] [google.cloudresourcemanager.projects.v1beta1.LifecycleState.DELETE_IN _PROGRESS]. Until the deletion completes, you can check the lifecycle state checked by retrieving the project with [GetProject] [google.cloudresourcemanager.projects.v1beta1.DeveloperProjects.GetPro ject], and the project remains visible to [ListProjects] [google.cloudresourcemanager.projects.v1beta1.DeveloperProjects.ListPr ojects]. However, you cannot update the project. After the deletion completes, the project is not retrievable by the [GetProject] [google.cloudresourcemanager.projects.v1beta1.DeveloperProjects.GetPro ject] and [ListProjects] [google.cloudresourcemanager.projects.v1beta1.DeveloperProjects.ListPr ojects] methods. The caller must have modify permissions for this project.
func (*ProjectsService) Get ¶
func (r *ProjectsService) Get(projectId string) *ProjectsGetCall
Get: Retrieves the project identified by the specified `project_id` (for example, `my-project-123`). The caller must have read permissions for this project.
func (*ProjectsService) GetIamPolicy ¶
func (r *ProjectsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsGetIamPolicyCall
GetIamPolicy: Returns the IAM access control policy for specified project.
func (*ProjectsService) List ¶
func (r *ProjectsService) List() *ProjectsListCall
List: Lists projects that are visible to the user and satisfy the specified filter. This method returns projects in an unspecified order. New projects do not necessarily appear at the end of the list.
func (*ProjectsService) SetIamPolicy ¶
func (r *ProjectsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSetIamPolicyCall
SetIamPolicy: Sets the IAM access control policy for the specified project. We do not currently support 'domain:' prefixed members in a Binding of a Policy. Calling this method requires enabling the App Engine Admin API.
func (*ProjectsService) TestIamPermissions ¶
func (r *ProjectsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsTestIamPermissionsCall
TestIamPermissions: Tests the specified permissions against the IAM access control policy for the specified project.
func (*ProjectsService) Undelete ¶
func (r *ProjectsService) Undelete(projectId string) *ProjectsUndeleteCall
Undelete: Restores the project identified by the specified `project_id` (for example, `my-project-123`). You can only use this method for a project that has a lifecycle state of [DELETE_REQUESTED] [google.cloudresourcemanager.projects.v1beta1.LifecycleState.DELETE_RE QUESTED]. After deletion starts, as indicated by a lifecycle state of [DELETE_IN_PROGRESS] [google.cloudresourcemanager.projects.v1beta1.LifecycleState.DELETE_IN _PROGRESS], the project cannot be restored. The caller must have modify permissions for this project.
func (*ProjectsService) Update ¶
func (r *ProjectsService) Update(projectId string, project *Project) *ProjectsUpdateCall
Update: Updates the attributes of the project identified by the specified `project_id` (for example, `my-project-123`). The caller must have modify permissions for this project.
type ProjectsSetIamPolicyCall ¶
type ProjectsSetIamPolicyCall struct {
// contains filtered or unexported fields
}
func (*ProjectsSetIamPolicyCall) Do ¶
func (c *ProjectsSetIamPolicyCall) Do() (*Policy, error)
func (*ProjectsSetIamPolicyCall) Fields ¶
func (c *ProjectsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsSetIamPolicyCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type ProjectsTestIamPermissionsCall ¶
type ProjectsTestIamPermissionsCall struct {
// contains filtered or unexported fields
}
func (*ProjectsTestIamPermissionsCall) Do ¶
func (c *ProjectsTestIamPermissionsCall) Do() (*TestIamPermissionsResponse, error)
func (*ProjectsTestIamPermissionsCall) Fields ¶
func (c *ProjectsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsTestIamPermissionsCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type ProjectsUndeleteCall ¶
type ProjectsUndeleteCall struct {
// contains filtered or unexported fields
}
func (*ProjectsUndeleteCall) Do ¶
func (c *ProjectsUndeleteCall) Do() (*Empty, error)
func (*ProjectsUndeleteCall) Fields ¶
func (c *ProjectsUndeleteCall) Fields(s ...googleapi.Field) *ProjectsUndeleteCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type ProjectsUpdateCall ¶
type ProjectsUpdateCall struct {
// contains filtered or unexported fields
}
func (*ProjectsUpdateCall) Do ¶
func (c *ProjectsUpdateCall) Do() (*Project, error)
func (*ProjectsUpdateCall) Fields ¶
func (c *ProjectsUpdateCall) Fields(s ...googleapi.Field) *ProjectsUpdateCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type Rule ¶
type Rule struct { // Action: Required // // Possible values: // "NO_ACTION" // "ALLOW" // "ALLOW_WITH_LOG" // "DENY" // "DENY_WITH_LOG" // "LOG" Action string `json:"action,omitempty"` // Conditions: Additional restrictions that must be met Conditions []*Condition `json:"conditions,omitempty"` // Description: Human-readable description of the rule. Description string `json:"description,omitempty"` // In: The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this // set of entries. In []string `json:"in,omitempty"` // LogConfig: The config returned to callers of tech.iam.IAM.CheckPolicy // for any entries that match the LOG action. LogConfig []*LogConfig `json:"logConfig,omitempty"` // NotIn: The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in // this set of entries. The formation for in and not_in entries is the // same as members in a Binding above. NotIn []string `json:"notIn,omitempty"` // Permissions: A permission is a string of form '..' (e.g., // 'storage.buckets.list'). A value of '*' matches all permissions, and // a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs. Permissions []string `json:"permissions,omitempty"` }
Rule: A rule to be applied in a Policy.
type Service ¶
type Service struct { BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Projects *ProjectsService // contains filtered or unexported fields }
type SetIamPolicyRequest ¶
type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the // 'resource'. The size of the policy is limited to a few 10s of KB. An // empty policy is in general a valid policy but certain services (like // Projects) might reject them. Policy *Policy `json:"policy,omitempty"` }
SetIamPolicyRequest: Request message for `SetIamPolicy` method.
type TestIamPermissionsRequest ¶
type TestIamPermissionsRequest struct { // Permissions: The set of permissions to check for the 'resource'. // Permissions with wildcards (such as '*' or 'storage.*') are not // allowed. Permissions []string `json:"permissions,omitempty"` }
TestIamPermissionsRequest: Request message for `TestIamPermissions` method.
type TestIamPermissionsResponse ¶
type TestIamPermissionsResponse struct { // Permissions: A subset of `TestPermissionsRequest.permissions` that // the caller is allowed. Permissions []string `json:"permissions,omitempty"` }
TestIamPermissionsResponse: Response message for `TestIamPermissions` method.