google_api_iam v0.10.0 GoogleApi.IAM.V1.Api.Projects View Source

API calls for all endpoints tagged Projects.

Link to this section Summary

Functions

Soft deletes a role. The role is suspended and cannot be used to create new IAM Policy Bindings. The Role will not be included in ListRoles() unless show_deleted is set in the ListRolesRequest. The Role contains the deleted boolean set. Existing Bindings remains, but are inactive. The Role can be undeleted within 7 days. After 7 days the Role is deleted and all Bindings associated with the role are removed.

Note: This method is in the process of being deprecated. Call the signBlob() method of the Cloud IAM Service Account Credentials API instead.

Note: This method is in the process of being deprecated. Call the signJwt() method of the Cloud IAM Service Account Credentials API instead.

Tests the specified permissions against the IAM access control policy for a ServiceAccount.

Restores a deleted ServiceAccount. This is to be used as an action of last resort. A service account may not always be restorable.

Note: This method is in the process of being deprecated. Use PatchServiceAccount instead.

Link to this section Functions

Link to this function

iam_projects_roles_create(connection, projects_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_roles_create(Tesla.Env.client(), String.t(), keyword(), keyword()) ::
  {:ok, GoogleApi.IAM.V1.Model.Role.t()} | {:error, Tesla.Env.t()}

Creates a new Role.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of parent. The parent parameter's value depends on the target resource for the request, namely projects or organizations. Each resource type's parent value format is described below:

    • projects.roles.create(): projects/{PROJECT_ID}. This method creates project-level custom roles. Example request URL: https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles

    • organizations.roles.create(): organizations/{ORGANIZATION_ID}. This method creates organization-level custom roles. Example request URL: https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles

    Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.CreateRoleRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Role{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_roles_delete(connection, projects_id, roles_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_roles_delete(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Role.t()} | {:error, Tesla.Env.t()}

Soft deletes a role. The role is suspended and cannot be used to create new IAM Policy Bindings. The Role will not be included in ListRoles() unless show_deleted is set in the ListRolesRequest. The Role contains the deleted boolean set. Existing Bindings remains, but are inactive. The Role can be undeleted within 7 days. After 7 days the Role is deleted and all Bindings associated with the role are removed.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of name. The name parameter's value depends on the target resource for the request, namely projects or organizations. Each resource type's name value format is described below:

    • projects.roles.delete(): projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}. This method deletes only custom roles that have been created at the project level. Example request URL: https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}

    • organizations.roles.delete(): organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}. This method deletes only custom roles that have been created at the organization level. Example request URL: https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}

    Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.

  • roles_id (type: String.t) - Part of name. See documentation of projectsId.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :etag (type: String.t) - Used to perform a consistent read-modify-write.
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Role{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_roles_get(connection, projects_id, roles_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_roles_get(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Role.t()} | {:error, Tesla.Env.t()}

Gets a Role definition.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of name. The name parameter's value depends on the target resource for the request, namely roles, projects, or organizations. Each resource type's name value format is described below:

    • roles.get(): roles/{ROLE_NAME}. This method returns results from all predefined roles in Cloud IAM. Example request URL: https://iam.googleapis.com/v1/roles/{ROLE_NAME}

    • projects.roles.get(): projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}. This method returns only custom roles that have been created at the project level. Example request URL: https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}

    • organizations.roles.get(): organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}. This method returns only custom roles that have been created at the organization level. Example request URL: https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}

    Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.

  • roles_id (type: String.t) - Part of name. See documentation of projectsId.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Role{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_roles_list(connection, projects_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_roles_list(Tesla.Env.client(), String.t(), keyword(), keyword()) ::
  {:ok, GoogleApi.IAM.V1.Model.ListRolesResponse.t()} | {:error, Tesla.Env.t()}

Lists the Roles defined on a resource.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of parent. The parent parameter's value depends on the target resource for the request, namely roles, projects, or organizations. Each resource type's parent value format is described below:

    • roles.list(): An empty string. This method doesn't require a resource; it simply returns all predefined roles in Cloud IAM. Example request URL: https://iam.googleapis.com/v1/roles

    • projects.roles.list(): projects/{PROJECT_ID}. This method lists all project-level custom roles. Example request URL: https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles

    • organizations.roles.list(): organizations/{ORGANIZATION_ID}. This method lists all organization-level custom roles. Example request URL: https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles

    Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :pageSize (type: integer()) - Optional limit on the number of roles to include in the response.
    • :pageToken (type: String.t) - Optional pagination token returned in an earlier ListRolesResponse.
    • :showDeleted (type: boolean()) - Include Roles that have been deleted.
    • :view (type: String.t) - Optional view for the returned Role objects. When FULL is specified, the includedPermissions field is returned, which includes a list of all permissions in the role. The default value is BASIC, which does not return the includedPermissions field.
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ListRolesResponse{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_roles_patch(connection, projects_id, roles_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_roles_patch(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Role.t()} | {:error, Tesla.Env.t()}

Updates a Role definition.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of name. The name parameter's value depends on the target resource for the request, namely projects or organizations. Each resource type's name value format is described below:

    • projects.roles.patch(): projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}. This method updates only custom roles that have been created at the project level. Example request URL: https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}

    • organizations.roles.patch(): organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}. This method updates only custom roles that have been created at the organization level. Example request URL: https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}

    Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.

  • roles_id (type: String.t) - Part of name. See documentation of projectsId.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :updateMask (type: String.t) - A mask describing which fields in the Role have changed.
    • :body (type: GoogleApi.IAM.V1.Model.Role.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Role{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_roles_undelete(connection, projects_id, roles_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_roles_undelete(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Role.t()} | {:error, Tesla.Env.t()}

Undelete a Role, bringing it back in its previous state.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of name. The name parameter's value depends on the target resource for the request, namely projects or organizations. Each resource type's name value format is described below:

    • projects.roles.undelete(): projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}. This method undeletes only custom roles that have been created at the project level. Example request URL: https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}

    • organizations.roles.undelete(): organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}. This method undeletes only custom roles that have been created at the organization level. Example request URL: https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}

    Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.

  • roles_id (type: String.t) - Part of name. See documentation of projectsId.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.UndeleteRoleRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Role{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_create(connection, projects_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_create(
  Tesla.Env.client(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.ServiceAccount.t()} | {:error, Tesla.Env.t()}

Creates a ServiceAccount and returns it.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. Required. The resource name of the project associated with the service accounts, such as projects/my-project-123.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.CreateServiceAccountRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ServiceAccount{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_delete(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_delete(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Empty.t()} | {:error, Tesla.Env.t()}

Deletes a ServiceAccount.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Empty{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_disable(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_disable(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Empty.t()} | {:error, Tesla.Env.t()}

DisableServiceAccount is currently in the alpha launch stage.

Disables a ServiceAccount, which immediately prevents the service account from authenticating and gaining access to APIs.

Disabled service accounts can be safely restored by using EnableServiceAccount at any point. Deleted service accounts cannot be restored using this method.

Disabling a service account that is bound to VMs, Apps, Functions, or other jobs will cause those jobs to lose access to resources if they are using the disabled service account.

To improve reliability of your services and avoid unexpected outages, it is recommended to first disable a service account rather than delete it. After disabling the service account, wait at least 24 hours to verify there are no unintended consequences, and then delete the service account.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.DisableServiceAccountRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Empty{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_enable(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_enable(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Empty.t()} | {:error, Tesla.Env.t()}

EnableServiceAccount is currently in the alpha launch stage.

Restores a disabled ServiceAccount that has been manually disabled by using DisableServiceAccount. Service accounts that have been disabled by other means or for other reasons, such as abuse, cannot be restored using this method.

EnableServiceAccount will have no effect on a service account that is not disabled. Enabling an already enabled service account will have no effect.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.EnableServiceAccountRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Empty{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_get(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_get(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.ServiceAccount.t()} | {:error, Tesla.Env.t()}

Gets a ServiceAccount.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ServiceAccount{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_get_iam_policy(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_get_iam_policy(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Policy.t()} | {:error, Tesla.Env.t()}

Returns the Cloud IAM access control policy for a ServiceAccount.

Note: Service accounts are both resources and identities. This method treats the service account as a resource. It returns the Cloud IAM policy that reflects what members have access to the service account.

This method does not return what resources the service account has access to. To see if a service account has access to a resource, call the getIamPolicy method on the target resource. For example, to view grants for a project, call the projects.getIamPolicy method.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of resource. REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.
  • service_accounts_id (type: String.t) - Part of resource. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :"options.requestedPolicyVersion" (type: integer()) - Optional. The policy format version to be returned. Acceptable values are 0, 1, and 3. If the value is 0, or the field is omitted, policy format version 1 will be returned.
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Policy{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_keys_create(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_keys_create(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) ::
  {:ok, GoogleApi.IAM.V1.Model.ServiceAccountKey.t()} | {:error, Tesla.Env.t()}

Creates a ServiceAccountKey and returns it.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.CreateServiceAccountKeyRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ServiceAccountKey{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_keys_delete(connection, projects_id, service_accounts_id, keys_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_keys_delete(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Empty.t()} | {:error, Tesla.Env.t()}

Deletes a ServiceAccountKey.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account key in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}. Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • keys_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Empty{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_keys_get(connection, projects_id, service_accounts_id, keys_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_keys_get(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) ::
  {:ok, GoogleApi.IAM.V1.Model.ServiceAccountKey.t()} | {:error, Tesla.Env.t()}

Gets the ServiceAccountKey by key id.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of name. The resource name of the service account key in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}.

    Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.

  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.

  • keys_id (type: String.t) - Part of name. See documentation of projectsId.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :publicKeyType (type: String.t) - The output format of the public key requested. X509_PEM is the default output format.
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ServiceAccountKey{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_keys_list(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_keys_list(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) ::
  {:ok, GoogleApi.IAM.V1.Model.ListServiceAccountKeysResponse.t()}
  | {:error, Tesla.Env.t()}

Lists ServiceAccountKeys.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}.

    Using - as a wildcard for the PROJECT_ID, will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.

  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :keyTypes (type: list(String.t)) - Filters the types of keys the user wants to include in the list response. Duplicate key types are not allowed. If no key type is provided, all keys are returned.
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ListServiceAccountKeysResponse{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_list(connection, projects_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_list(
  Tesla.Env.client(),
  String.t(),
  keyword(),
  keyword()
) ::
  {:ok, GoogleApi.IAM.V1.Model.ListServiceAccountsResponse.t()}
  | {:error, Tesla.Env.t()}

Lists ServiceAccounts for a project.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. Required. The resource name of the project associated with the service accounts, such as projects/my-project-123.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :pageSize (type: integer()) - Optional limit on the number of service accounts to include in the response. Further accounts can subsequently be obtained by including the ListServiceAccountsResponse.next_page_token in a subsequent request.
    • :pageToken (type: String.t) - Optional pagination token returned in an earlier ListServiceAccountsResponse.next_page_token.
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ListServiceAccountsResponse{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_patch(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_patch(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.ServiceAccount.t()} | {:error, Tesla.Env.t()}

Patches a ServiceAccount.

Currently, only the following fields are updatable: display_name and description.

Only fields specified in the request are guaranteed to be returned in the response. Other fields in the response may be empty.

Note: The field mask is required.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of serviceAccount.name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}.

    Requests using - as a wildcard for the PROJECT_ID will infer the project from the account and the ACCOUNT value can be the email address or the unique_id of the service account.

    In responses the resource name will always be in the format projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}.

  • service_accounts_id (type: String.t) - Part of serviceAccount.name. See documentation of projectsId.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.PatchServiceAccountRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ServiceAccount{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_set_iam_policy(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_set_iam_policy(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.Policy.t()} | {:error, Tesla.Env.t()}

Sets the Cloud IAM access control policy for a ServiceAccount.

Note: Service accounts are both resources and identities. This method treats the service account as a resource. Use it to grant members access to the service account, such as when they need to impersonate it.

This method does not grant the service account access to other resources, such as projects. To grant a service account access to resources, include the service account in the Cloud IAM policy for the desired resource, then call the appropriate setIamPolicy method on the target resource. For example, to grant a service account access to a project, call the projects.setIamPolicy method.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of resource. REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.
  • service_accounts_id (type: String.t) - Part of resource. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.SetIamPolicyRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.Policy{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_sign_blob(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_sign_blob(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) ::
  {:ok, GoogleApi.IAM.V1.Model.SignBlobResponse.t()} | {:error, Tesla.Env.t()}

Note: This method is in the process of being deprecated. Call the signBlob() method of the Cloud IAM Service Account Credentials API instead.

Signs a blob using a service account's system-managed private key.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.SignBlobRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.SignBlobResponse{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_sign_jwt(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_sign_jwt(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.SignJwtResponse.t()} | {:error, Tesla.Env.t()}

Note: This method is in the process of being deprecated. Call the signJwt() method of the Cloud IAM Service Account Credentials API instead.

Signs a JWT using a service account's system-managed private key.

If no expiry time (exp) is provided in the SignJwtRequest, IAM sets an an expiry time of one hour by default. If you request an expiry time of more than one hour, the request will fail.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. Using - as a wildcard for the PROJECT_ID will infer the project from the account. The ACCOUNT value can be the email address or the unique_id of the service account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.SignJwtRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.SignJwtResponse{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_test_iam_permissions(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_test_iam_permissions(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) ::
  {:ok, GoogleApi.IAM.V1.Model.TestIamPermissionsResponse.t()}
  | {:error, Tesla.Env.t()}

Tests the specified permissions against the IAM access control policy for a ServiceAccount.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of resource. REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.
  • service_accounts_id (type: String.t) - Part of resource. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.TestIamPermissionsRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.TestIamPermissionsResponse{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_undelete(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_undelete(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) ::
  {:ok, GoogleApi.IAM.V1.Model.UndeleteServiceAccountResponse.t()}
  | {:error, Tesla.Env.t()}

Restores a deleted ServiceAccount. This is to be used as an action of last resort. A service account may not always be restorable.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server
  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}. Using - as a wildcard for the PROJECT_ID will infer the project from the account.
  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.
  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.UndeleteServiceAccountRequest.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.UndeleteServiceAccountResponse{}} on success
  • {:error, info} on failure
Link to this function

iam_projects_service_accounts_update(connection, projects_id, service_accounts_id, optional_params \\ [], opts \\ [])

View Source
iam_projects_service_accounts_update(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword(),
  keyword()
) :: {:ok, GoogleApi.IAM.V1.Model.ServiceAccount.t()} | {:error, Tesla.Env.t()}

Note: This method is in the process of being deprecated. Use PatchServiceAccount instead.

Updates a ServiceAccount.

Currently, only the following fields are updatable: display_name and description.

Parameters

  • connection (type: GoogleApi.IAM.V1.Connection.t) - Connection to server

  • projects_id (type: String.t) - Part of name. The resource name of the service account in the following format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}.

    Requests using - as a wildcard for the PROJECT_ID will infer the project from the account and the ACCOUNT value can be the email address or the unique_id of the service account.

    In responses the resource name will always be in the format projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}.

  • service_accounts_id (type: String.t) - Part of name. See documentation of projectsId.

  • optional_params (type: keyword()) - Optional parameters

    • :"$.xgafv" (type: String.t) - V1 error format.
    • :access_token (type: String.t) - OAuth access token.
    • :alt (type: String.t) - Data format for response.
    • :callback (type: String.t) - JSONP
    • :fields (type: String.t) - Selector specifying which fields to include in a partial response.
    • :key (type: String.t) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (type: String.t) - OAuth 2.0 token for the current user.
    • :prettyPrint (type: boolean()) - Returns response with indentations and line breaks.
    • :quotaUser (type: String.t) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
    • :uploadType (type: String.t) - Legacy upload protocol for media (e.g. "media", "multipart").
    • :upload_protocol (type: String.t) - Upload protocol for media (e.g. "raw", "multipart").
    • :body (type: GoogleApi.IAM.V1.Model.ServiceAccount.t) -
  • opts (type: keyword()) - Call options

Returns

  • {:ok, %GoogleApi.IAM.V1.Model.ServiceAccount{}} on success
  • {:error, info} on failure