Copyright | (c) 2015 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
- API Declaration
- Resources
- cloudresourcemanager.organizations.get
- cloudresourcemanager.organizations.getIamPolicy
- cloudresourcemanager.organizations.list
- cloudresourcemanager.organizations.setIamPolicy
- cloudresourcemanager.organizations.testIamPermissions
- cloudresourcemanager.organizations.update
- cloudresourcemanager.projects.create
- 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 of project metadata.
- resourceManagerService :: Service
- type ResourceManagerAPI = OrganizationsListResource :<|> (OrganizationsGetIAMPolicyResource :<|> (OrganizationsGetResource :<|> (OrganizationsSetIAMPolicyResource :<|> (OrganizationsTestIAMPermissionsResource :<|> (OrganizationsUpdateResource :<|> (ProjectsListResource :<|> (ProjectsUndeleteResource :<|> (ProjectsGetIAMPolicyResource :<|> (ProjectsGetResource :<|> (ProjectsCreateResource :<|> (ProjectsSetIAMPolicyResource :<|> (ProjectsTestIAMPermissionsResource :<|> (ProjectsDeleteResource :<|> ProjectsUpdateResource)))))))))))))
- module Network.Google.Resource.CloudResourceManager.Organizations.Get
- module Network.Google.Resource.CloudResourceManager.Organizations.GetIAMPolicy
- module Network.Google.Resource.CloudResourceManager.Organizations.List
- module Network.Google.Resource.CloudResourceManager.Organizations.SetIAMPolicy
- module Network.Google.Resource.CloudResourceManager.Organizations.TestIAMPermissions
- module Network.Google.Resource.CloudResourceManager.Organizations.Update
- module Network.Google.Resource.CloudResourceManager.Projects.Create
- 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 OrganizationOwner
- organizationOwner :: OrganizationOwner
- ooDirectoryCustomerId :: Lens' OrganizationOwner (Maybe Text)
- 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 Word8)
- pVersion :: Lens' Policy (Maybe Int32)
- pBindings :: Lens' Policy [Binding]
- data ProjectLabels
- projectLabels :: HashMap Text Text -> ProjectLabels
- plAddtional :: Lens' ProjectLabels (HashMap Text Text)
- data Organization
- organization :: Organization
- oOwner :: Lens' Organization (Maybe OrganizationOwner)
- oDisplayName :: Lens' Organization (Maybe Text)
- oOrganizationId :: Lens' Organization (Maybe Text)
- data Binding
- binding :: Binding
- bMembers :: Lens' Binding [Text]
- bRole :: Lens' Binding (Maybe Text)
- data ListOrganizationsResponse
- listOrganizationsResponse :: ListOrganizationsResponse
- lorNextPageToken :: Lens' ListOrganizationsResponse (Maybe Text)
- lorOrganizations :: Lens' ListOrganizationsResponse [Organization]
Service Configuration
resourceManagerService :: Service Source
Default request referring to version v1beta1
of the Google Cloud Resource Manager API. This contains the host and root path used as a starting point for constructing service requests.
API Declaration
type ResourceManagerAPI = OrganizationsListResource :<|> (OrganizationsGetIAMPolicyResource :<|> (OrganizationsGetResource :<|> (OrganizationsSetIAMPolicyResource :<|> (OrganizationsTestIAMPermissionsResource :<|> (OrganizationsUpdateResource :<|> (ProjectsListResource :<|> (ProjectsUndeleteResource :<|> (ProjectsGetIAMPolicyResource :<|> (ProjectsGetResource :<|> (ProjectsCreateResource :<|> (ProjectsSetIAMPolicyResource :<|> (ProjectsTestIAMPermissionsResource :<|> (ProjectsDeleteResource :<|> ProjectsUpdateResource))))))))))))) Source
Represents the entirety of the methods and resources available for the Google Cloud Resource Manager API service.
Resources
cloudresourcemanager.organizations.get
cloudresourcemanager.organizations.getIamPolicy
cloudresourcemanager.organizations.list
cloudresourcemanager.organizations.setIamPolicy
cloudresourcemanager.organizations.testIamPermissions
cloudresourcemanager.organizations.update
cloudresourcemanager.projects.create
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, Cloud SQL database, ...
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][google.cloudresourcemanager.projects.v1beta1.DeveloperProjects.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. Note: pagination is not yet supported; the server will not set this field.
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.
OrganizationOwner
data OrganizationOwner Source
The entity that owns an Organization. The lifetime of the Organization and all of its descendants are bound to the OrganizationOwner. If the OrganizationOwner is deleted, the Organization and all its descendants will be deleted.
See: organizationOwner
smart constructor.
organizationOwner :: OrganizationOwner Source
Creates a value of OrganizationOwner
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
ooDirectoryCustomerId :: Lens' OrganizationOwner (Maybe Text) Source
The Google for Work customer id used in the Directory API.
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.
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][https://cloud.google.com/iam].
See: policy
smart constructor.
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:
Organization
data Organization Source
The root node in the resource hierarchy to which a particular entity's (e.g., company) resources belong.
See: organization
smart constructor.
organization :: Organization Source
Creates a value of Organization
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
oOwner :: Lens' Organization (Maybe OrganizationOwner) Source
The owner of this Organization. The owner should be specified upon creation. Once set, it cannot be changed. This field is required.
oDisplayName :: Lens' Organization (Maybe Text) Source
A friendly string to be used to refer to the Organization in the UI. This field is required.
oOrganizationId :: Lens' Organization (Maybe Text) Source
An immutable id for the Organization that is assigned on creation. This should be omitted when creating a new Organization. This field is read-only.
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 formats: * `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`.
bRole :: Lens' Binding (Maybe Text) Source
Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
ListOrganizationsResponse
data ListOrganizationsResponse Source
The response returned from the ListOrganizations method.
See: listOrganizationsResponse
smart constructor.
listOrganizationsResponse :: ListOrganizationsResponse Source
Creates a value of ListOrganizationsResponse
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lorNextPageToken :: Lens' ListOrganizationsResponse (Maybe Text) Source
A pagination token to be used to retrieve the next page of results. If the result is too large to fit within the page size specified in the request, this field will be set with a token that can be used to fetch the next page of results. If this field is empty, it indicates that this response contains the last page of results.
lorOrganizations :: Lens' ListOrganizationsResponse [Organization] Source
The list of Organizations that matched the list query, possibly paginated.