Copyright | (c) 2015-2016 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
- Service Configuration
- OAuth Scopes
- API Declaration
- Resources
- cloudresourcemanager.projects.delete
- cloudresourcemanager.projects.get
- cloudresourcemanager.projects.getIamPolicy
- cloudresourcemanager.projects.list
- cloudresourcemanager.projects.setIamPolicy
- cloudresourcemanager.projects.testIamPermissions
- cloudresourcemanager.projects.undelete
- cloudresourcemanager.projects.update
- Types
The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.
- resourceManagerService :: ServiceConfig
- cloudPlatformReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform.read-only"]
- cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]
- type ResourceManagerAPI = ProjectsListResource :<|> (ProjectsUndeleteResource :<|> (ProjectsGetIAMPolicyResource :<|> (ProjectsGetResource :<|> (ProjectsSetIAMPolicyResource :<|> (ProjectsTestIAMPermissionsResource :<|> (ProjectsDeleteResource :<|> ProjectsUpdateResource))))))
- module Network.Google.Resource.CloudResourceManager.Projects.Delete
- module Network.Google.Resource.CloudResourceManager.Projects.Get
- module Network.Google.Resource.CloudResourceManager.Projects.GetIAMPolicy
- module Network.Google.Resource.CloudResourceManager.Projects.List
- module Network.Google.Resource.CloudResourceManager.Projects.SetIAMPolicy
- module Network.Google.Resource.CloudResourceManager.Projects.TestIAMPermissions
- module Network.Google.Resource.CloudResourceManager.Projects.Undelete
- module Network.Google.Resource.CloudResourceManager.Projects.Update
- data ResourceId
- resourceId :: ResourceId
- riId :: Lens' ResourceId (Maybe Text)
- riType :: Lens' ResourceId (Maybe Text)
- data ListProjectsResponse
- listProjectsResponse :: ListProjectsResponse
- lprNextPageToken :: Lens' ListProjectsResponse (Maybe Text)
- lprProjects :: Lens' ListProjectsResponse [Project]
- data GetIAMPolicyRequest
- getIAMPolicyRequest :: GetIAMPolicyRequest
- data Project
- project :: Project
- pParent :: Lens' Project (Maybe ResourceId)
- pProjectNumber :: Lens' Project (Maybe Int64)
- pName :: Lens' Project (Maybe Text)
- pLabels :: Lens' Project (Maybe ProjectLabels)
- pProjectId :: Lens' Project (Maybe Text)
- pLifecycleState :: Lens' Project (Maybe Text)
- pCreateTime :: Lens' Project (Maybe Text)
- data Empty
- empty :: Empty
- data SetIAMPolicyRequest
- setIAMPolicyRequest :: SetIAMPolicyRequest
- siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)
- data TestIAMPermissionsRequest
- testIAMPermissionsRequest :: TestIAMPermissionsRequest
- tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]
- data TestIAMPermissionsResponse
- testIAMPermissionsResponse :: TestIAMPermissionsResponse
- tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]
- data Policy
- policy :: Policy
- pEtag :: Lens' Policy (Maybe ByteString)
- pVersion :: Lens' Policy (Maybe Int32)
- pBindings :: Lens' Policy [Binding]
- data ProjectLabels
- projectLabels :: HashMap Text Text -> ProjectLabels
- plAddtional :: Lens' ProjectLabels (HashMap Text Text)
- data UndeleteProjectRequest
- undeleteProjectRequest :: UndeleteProjectRequest
- data Binding
- binding :: Binding
- bMembers :: Lens' Binding [Text]
- bRole :: Lens' Binding (Maybe Text)
Service Configuration
resourceManagerService :: ServiceConfig Source #
Default request referring to version v1
of the Google Cloud Resource Manager API. This contains the host and root path used as a starting point for constructing service requests.
OAuth Scopes
cloudPlatformReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform.read-only"] Source #
View your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"] Source #
View and manage your data across Google Cloud Platform services
API Declaration
type ResourceManagerAPI = ProjectsListResource :<|> (ProjectsUndeleteResource :<|> (ProjectsGetIAMPolicyResource :<|> (ProjectsGetResource :<|> (ProjectsSetIAMPolicyResource :<|> (ProjectsTestIAMPermissionsResource :<|> (ProjectsDeleteResource :<|> ProjectsUpdateResource)))))) Source #
Represents the entirety of the methods and resources available for the Google Cloud Resource Manager API service.
Resources
cloudresourcemanager.projects.delete
cloudresourcemanager.projects.get
cloudresourcemanager.projects.getIamPolicy
cloudresourcemanager.projects.list
cloudresourcemanager.projects.setIamPolicy
cloudresourcemanager.projects.testIamPermissions
cloudresourcemanager.projects.undelete
cloudresourcemanager.projects.update
Types
ResourceId
data ResourceId Source #
A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an AppEngine app, a Compute Engine instance, a Cloud SQL database, and so on.
See: resourceId
smart constructor.
resourceId :: ResourceId Source #
Creates a value of ResourceId
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
riId :: Lens' ResourceId (Maybe Text) Source #
Required field for the type-specific id. This should correspond to the id used in the type-specific API's.
riType :: Lens' ResourceId (Maybe Text) Source #
Required field representing the resource type this id is for. At present, the only valid type is "organization".
ListProjectsResponse
data ListProjectsResponse Source #
A page of the response received from the 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.
See: listProjectsResponse
smart constructor.
listProjectsResponse :: ListProjectsResponse Source #
Creates a value of ListProjectsResponse
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lprNextPageToken :: Lens' ListProjectsResponse (Maybe Text) Source #
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.
lprProjects :: Lens' ListProjectsResponse [Project] Source #
The list of Projects that matched the list filter. This list can be paginated.
GetIAMPolicyRequest
data GetIAMPolicyRequest Source #
Request message for `GetIamPolicy` method.
See: getIAMPolicyRequest
smart constructor.
getIAMPolicyRequest :: GetIAMPolicyRequest Source #
Creates a value of GetIAMPolicyRequest
with the minimum fields required to make a request.
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.
See: project
smart constructor.
Creates a value of Project
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
pParent :: Lens' Project (Maybe ResourceId) Source #
An optional reference to a parent Resource. The only supported parent type is "organization". Once set, the parent cannot be modified. Read-write.
pProjectNumber :: Lens' Project (Maybe Int64) Source #
The number uniquely identifying the project. Example: 415104041262 Read-only.
pName :: Lens' Project (Maybe Text) Source #
The user-assigned name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write.
pLabels :: Lens' Project (Maybe ProjectLabels) Source #
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.
pProjectId :: Lens' Project (Maybe Text) Source #
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.
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 `{}`.
See: empty
smart constructor.
SetIAMPolicyRequest
data SetIAMPolicyRequest Source #
Request message for `SetIamPolicy` method.
See: setIAMPolicyRequest
smart constructor.
setIAMPolicyRequest :: SetIAMPolicyRequest Source #
Creates a value of SetIAMPolicyRequest
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy) Source #
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 a valid policy but certain Cloud Platform services (such as Projects) might reject them.
TestIAMPermissionsRequest
data TestIAMPermissionsRequest Source #
Request message for `TestIamPermissions` method.
See: testIAMPermissionsRequest
smart constructor.
testIAMPermissionsRequest :: TestIAMPermissionsRequest Source #
Creates a value of TestIAMPermissionsRequest
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
tiprPermissions :: Lens' TestIAMPermissionsRequest [Text] Source #
The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview.
TestIAMPermissionsResponse
data TestIAMPermissionsResponse Source #
Response message for `TestIamPermissions` method.
See: testIAMPermissionsResponse
smart constructor.
testIAMPermissionsResponse :: TestIAMPermissionsResponse Source #
Creates a value of TestIAMPermissionsResponse
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text] Source #
A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
Policy
Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike'example.com", "group:admins'example.com", "domain:google.com", "serviceAccount:my-other-app'appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean'example.com"] } ] } For a description of IAM and its features, see the IAM developer's guide.
See: policy
smart constructor.
pEtag :: Lens' Policy (Maybe ByteString) Source #
`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.
pBindings :: Lens' Policy [Binding] Source #
Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.
ProjectLabels
data ProjectLabels Source #
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.
See: projectLabels
smart constructor.
Creates a value of ProjectLabels
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
UndeleteProjectRequest
data UndeleteProjectRequest Source #
The request sent to the UndeleteProject method.
See: undeleteProjectRequest
smart constructor.
undeleteProjectRequest :: UndeleteProjectRequest Source #
Creates a value of UndeleteProjectRequest
with the minimum fields required to make a request.
Binding
Associates `members` with a `role`.
See: binding
smart constructor.
bMembers :: Lens' Binding [Text] Source #
Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice'gmail.com` or `joe'example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app'appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins'example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.