cloudresourcemanager

package
v0.0.0-...-7ca0ba9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 28, 2015 License: BSD-3-Clause Imports: 11 Imported by: 0

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

View Source
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

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

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

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 (*ProjectsGetIamPolicyCall) Fields

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 (*ProjectsListCall) Fields

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 (*ProjectsSetIamPolicyCall) Fields

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 (*ProjectsTestIamPermissionsCall) Fields

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

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

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
}

func New

func New(client *http.Client) (*Service, error)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL