# Class OrgPolicyClient (1.18.0)

1.18.0 (latest) 1.17.0 1.16.1 1.15.0 1.14.0 1.13.0 1.12.0 1.11.1 1.10.0 1.9.0 1.8.3 1.7.1 1.6.0 1.5.0 1.4.1 1.3.3 1.2.1 1.1.0 1.0.2 0.3.0 0.2.0 0.1.2

    OrgPolicyClient(
        *,
        credentials: typing.Optional[google.auth.credentials.Credentials] = None,
        transport: typing.Optional[
            typing.Union[
                str,
                google.cloud.orgpolicy_v2.services.org_policy.transports.base.OrgPolicyTransport,
                typing.Callable[
                    [...],
                    google.cloud.orgpolicy_v2.services.org_policy.transports.base.OrgPolicyTransport,
                ],
            ]
        ] = None,
        client_options: typing.Optional[
            typing.Union[google.api_core.client_options.ClientOptions, dict]
        ] = None,
        client_info: google.api_core.gapic_v1.client_info.ClientInfo = google.api_core.gapic_v1.client_info.ClientInfo
    )

An interface for managing organization policies.

The Organization Policy Service provides a simple mechanism for
organizations to restrict the allowed configurations across
their entire resource hierarchy.

You can use a policy to configure restrictions on resources. For
example, you can enforce a policy that restricts which Google
Cloud APIs can be activated in a certain part of your resource
hierarchy, or prevents serial port access to VM instances in a
particular folder.

Policies are inherited down through the resource hierarchy. A
policy applied to a parent resource automatically applies to all
its child resources unless overridden with a policy lower in the
hierarchy.

A constraint defines an aspect of a resource's configuration
that can be controlled by an organization's policy
administrator. Policies are a collection of constraints that
defines their allowable configuration on a particular resource
and its child resources.

## Properties

### api_endpoint

Return the API endpoint used by the client instance.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `str` | The API endpoint used by the client instance. |

### transport

Returns the transport used by the client instance.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `OrgPolicyTransport` | The transport used by the client instance. |

### universe_domain

Return the universe domain used by the client instance.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `str` | The universe domain used by the client instance. |

## Methods

### OrgPolicyClient

    OrgPolicyClient(
        *,
        credentials: typing.Optional[google.auth.credentials.Credentials] = None,
        transport: typing.Optional[
            typing.Union[
                str,
                google.cloud.orgpolicy_v2.services.org_policy.transports.base.OrgPolicyTransport,
                typing.Callable[
                    [...],
                    google.cloud.orgpolicy_v2.services.org_policy.transports.base.OrgPolicyTransport,
                ],
            ]
        ] = None,
        client_options: typing.Optional[
            typing.Union[google.api_core.client_options.ClientOptions, dict]
        ] = None,
        client_info: google.api_core.gapic_v1.client_info.ClientInfo = google.api_core.gapic_v1.client_info.ClientInfo
    )

Instantiates the org policy client.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `credentials` | `Optional[google.auth.credentials.Credentials]` The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment. |
| `transport` | `Optional[Union[str,OrgPolicyTransport,Callable[..., OrgPolicyTransport]]]` The transport to use, or a Callable that constructs and returns a new transport. If a Callable is given, it will be called with the same set of initialization arguments as used in the OrgPolicyTransport constructor. If set to None, a transport is chosen automatically. |
| `client_options` | `Optional[Union[google.api_core.client_options.ClientOptions, dict]]` Custom options for the client. 1. The `api_endpoint` property can be used to override the default endpoint provided by the client when `transport` is not explicitly provided. Only if this property is not set and `transport` was not explicitly provided, the endpoint is determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment variable, which have one of the following values: "always" (always use the default mTLS endpoint), "never" (always use the default regular endpoint) and "auto" (auto-switch to the default mTLS endpoint if client certificate is present; this is the default value). 2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "true", then the `client_cert_source` property can be used to provide a client certificate for mTLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not set, no client certificate will be used. 3. The `universe_domain` property can be used to override the default "googleapis.com" universe. Note that the `api_endpoint` property still takes precedence; and `universe_domain` is currently not supported for mTLS. |
| `client_info` | `google.api_core.gapic_v1.client_info.ClientInfo` The client info used to send a user-agent string along with API requests. If `None`, then default info will be used. Generally, you only need to set this if you're developing your own client library. |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `google.auth.exceptions.MutualTLSChannelError` | If mutual TLS transport creation failed for any reason. |

### __exit__

    __exit__(type, value, traceback)

Releases underlying transport's resources.

> [!WARNING]
> **Warning:** ONLY use as a context manager if the transport is NOT shared with other clients! Exiting the with block will CLOSE the transport and may cause errors in other clients!

### common_billing_account_path

    common_billing_account_path(billing_account: str) -> str

Returns a fully-qualified billing_account string.

### common_folder_path

    common_folder_path(folder: str) -> str

Returns a fully-qualified folder string.

### common_location_path

    common_location_path(project: str, location: str) -> str

Returns a fully-qualified location string.

### common_organization_path

    common_organization_path(organization: str) -> str

Returns a fully-qualified organization string.

### common_project_path

    common_project_path(project: str) -> str

Returns a fully-qualified project string.

### constraint_path

    constraint_path(project: str, constraint: str) -> str

Returns a fully-qualified constraint string.

### create_custom_constraint

    create_custom_constraint(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.CreateCustomConstraintRequest,
                dict,
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        custom_constraint: typing.Optional[
            google.cloud.orgpolicy_v2.types.constraint.CustomConstraint
        ] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.types.constraint.CustomConstraint

Creates a custom constraint.

Returns a `google.rpc.Status` with
`google.rpc.Code.NOT_FOUND` if the organization does not
exist. Returns a `google.rpc.Status` with
`google.rpc.Code.ALREADY_EXISTS` if the constraint already
exists on the given organization.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_create_custom_constraint():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CreateCustomConstraintRequest.html(
            parent="parent_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_create_custom_constraint(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CreateCustomConstraintRequest, dict]` The request object. The request sent to the \[CreateCustomConstraintRequest\] \[google.cloud.orgpolicy.v2.OrgPolicy.CreateCustomConstraint\] method. |
| `parent` | `str` Required. Must be in the following form: - `organizations/{organization_id}` This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `custom_constraint` | `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CustomConstraint` Required. Custom constraint to create. This corresponds to the `custom_constraint` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CustomConstraint` | A custom constraint defined by customers which can \*only\* be applied to the given resource types and organization. By creating a custom constraint, customers can apply policies of this custom constraint. \*Creating a custom constraint itself does NOT apply any policy enforcement\*. |

### create_policy

    create_policy(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.CreatePolicyRequest, dict
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        policy: typing.Optional[google.cloud.orgpolicy_v2.types.orgpolicy.Policy] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.types.orgpolicy.Policy

Creates a policy.

Returns a `google.rpc.Status` with
`google.rpc.Code.NOT_FOUND` if the constraint does not exist.
Returns a `google.rpc.Status` with
`google.rpc.Code.ALREADY_EXISTS` if the policy already exists
on the given Google Cloud resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_create_policy():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CreatePolicyRequest.html(
            parent="parent_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_create_policy(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CreatePolicyRequest, dict]` The request object. The request sent to the \[CreatePolicyRequest\] \[google.cloud.orgpolicy.v2.OrgPolicy.CreatePolicy\] method. |
| `parent` | `str` Required. The Google Cloud resource that will parent the new policy. Must be in one of the following forms: - `projects/{project_number}` - `projects/{project_id}` - `folders/{folder_id}` - `organizations/{organization_id}` This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `policy` | `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.Policy` Required. Policy to create. This corresponds to the `policy` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.Policy` | Defines an organization policy which is used to specify constraints for configurations of Google Cloud resources. |

### custom_constraint_path

    custom_constraint_path(organization: str, custom_constraint: str) -> str

Returns a fully-qualified custom_constraint string.

### delete_custom_constraint

    delete_custom_constraint(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.DeleteCustomConstraintRequest,
                dict,
            ]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> None

Deletes a custom constraint.

Returns a `google.rpc.Status` with
`google.rpc.Code.NOT_FOUND` if the constraint does not exist.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_delete_custom_constraint():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.DeleteCustomConstraintRequest.html(
            name="name_value",
        )

        # Make the request
        client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_delete_custom_constraint(request=request)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.DeleteCustomConstraintRequest, dict]` The request object. The request sent to the \[DeleteCustomConstraint\] \[google.cloud.orgpolicy.v2.OrgPolicy.DeleteCustomConstraint\] method. |
| `name` | `str` Required. Name of the custom constraint to delete. See the custom constraint entry for naming rules. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

### delete_policy

    delete_policy(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.DeletePolicyRequest, dict
            ]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> None

Deletes a policy.

Returns a `google.rpc.Status` with
`google.rpc.Code.NOT_FOUND` if the constraint or organization
policy does not exist.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_delete_policy():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.DeletePolicyRequest.html(
            name="name_value",
        )

        # Make the request
        client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_delete_policy(request=request)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.DeletePolicyRequest, dict]` The request object. The request sent to the \[DeletePolicy\] \[google.cloud.orgpolicy.v2.OrgPolicy.DeletePolicy\] method. |
| `name` | `str` Required. Name of the policy to delete. See the policy entry for naming rules. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

### from_service_account_file

    from_service_account_file(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials
file.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `filename` | `str` The path to the service account private key json file. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `OrgPolicyClient` | The constructed client. |

### from_service_account_info

    from_service_account_info(info: dict, *args, **kwargs)

Creates an instance of this client using the provided credentials
info.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `info` | `dict` The service account private key info. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `OrgPolicyClient` | The constructed client. |

### from_service_account_json

    from_service_account_json(filename: str, *args, **kwargs)

Creates an instance of this client using the provided credentials
file.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `filename` | `str` The path to the service account private key json file. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `OrgPolicyClient` | The constructed client. |

### get_custom_constraint

    get_custom_constraint(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.GetCustomConstraintRequest, dict
            ]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.types.constraint.CustomConstraint

Gets a custom or managed constraint.

Returns a `google.rpc.Status` with
`google.rpc.Code.NOT_FOUND` if the custom or managed
constraint does not exist.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_get_custom_constraint():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.GetCustomConstraintRequest.html(
            name="name_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_get_custom_constraint(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.GetCustomConstraintRequest, dict]` The request object. The request sent to the \[GetCustomConstraint\] \[google.cloud.orgpolicy.v2.OrgPolicy.GetCustomConstraint\] method. |
| `name` | `str` Required. Resource name of the custom or managed constraint. See the custom constraint entry for naming requirements. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CustomConstraint` | A custom constraint defined by customers which can \*only\* be applied to the given resource types and organization. By creating a custom constraint, customers can apply policies of this custom constraint. \*Creating a custom constraint itself does NOT apply any policy enforcement\*. |

### get_effective_policy

    get_effective_policy(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.GetEffectivePolicyRequest, dict
            ]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.types.orgpolicy.Policy

Gets the effective policy on a resource. This is the result of
merging policies in the resource hierarchy and evaluating
conditions. The returned policy will not have an `etag` or
`condition` set because it is an evaluated policy across
multiple resources. Subtrees of Resource Manager resource
hierarchy with 'under:' prefix will not be expanded.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_get_effective_policy():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.GetEffectivePolicyRequest.html(
            name="name_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_get_effective_policy(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.GetEffectivePolicyRequest, dict]` The request object. The request sent to the \[GetEffectivePolicy\] \[google.cloud.orgpolicy.v2.OrgPolicy.GetEffectivePolicy\] method. |
| `name` | `str` Required. The effective policy to compute. See Policy for naming requirements. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.Policy` | Defines an organization policy which is used to specify constraints for configurations of Google Cloud resources. |

### get_mtls_endpoint_and_cert_source

    get_mtls_endpoint_and_cert_source(
        client_options: typing.Optional[
            google.api_core.client_options.ClientOptions
        ] = None,
    )

Deprecated. Return the API endpoint and client cert source for mutual TLS.

The client cert source is determined in the following order:
(1) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is not "true", the
client cert source is None.
(2) if `client_options.client_cert_source` is provided, use the provided one; if the
default client cert source exists, use the default one; otherwise the client cert
source is None.

The API endpoint is determined in the following order:
(1) if `client_options.api_endpoint` if provided, use the provided one.
(2) if `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable is "always", use the
default mTLS endpoint; if the environment variable is "never", use the default API
endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise
use the default API endpoint.

More details can be found at <https://google.aip.dev/auth/4114>.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `client_options` | `google.api_core.client_options.ClientOptions` Custom options for the client. Only the `api_endpoint` and `client_cert_source` properties may be used in this method. |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `google.auth.exceptions.MutualTLSChannelError` | If any errors happen. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `Tuple[str, Callable[[], Tuple[bytes, bytes]]]` | returns the API endpoint and the client cert source to use. |

### get_policy

    get_policy(
        request: typing.Optional[
            typing.Union[google.cloud.orgpolicy_v2.types.orgpolicy.GetPolicyRequest, dict]
        ] = None,
        *,
        name: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.types.orgpolicy.Policy

Gets a policy on a resource.

If no policy is set on the resource, `NOT_FOUND` is returned.
The `etag` value can be used with `UpdatePolicy()` to update
a policy during read-modify-write.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_get_policy():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.GetPolicyRequest.html(
            name="name_value",
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_get_policy(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.GetPolicyRequest, dict]` The request object. The request sent to the \[GetPolicy\] \[google.cloud.orgpolicy.v2.OrgPolicy.GetPolicy\] method. |
| `name` | `str` Required. Resource name of the policy. See Policy for naming requirements. This corresponds to the `name` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.Policy` | Defines an organization policy which is used to specify constraints for configurations of Google Cloud resources. |

### list_constraints

    list_constraints(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.ListConstraintsRequest, dict
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.services.org_policy.pagers.ListConstraintsPager

Lists constraints that could be applied on the
specified resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_list_constraints():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.ListConstraintsRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_list_constraints(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.ListConstraintsRequest, dict]` The request object. The request sent to the \[ListConstraints\] \[google.cloud.orgpolicy.v2.OrgPolicy.ListConstraints\] method. |
| `parent` | `str` Required. The Google Cloud resource that parents the constraint. Must be in one of the following forms: - `projects/{project_number}` - `projects/{project_id}` - `folders/{folder_id}` - `organizations/{organization_id}` This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.pagers.ListConstraintsPager` | The response returned from the \[ListConstraints\] \[google.cloud.orgpolicy.v2.OrgPolicy.ListConstraints\] method. Iterating over this object will yield results and resolve additional pages automatically. |

### list_custom_constraints

    list_custom_constraints(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.ListCustomConstraintsRequest, dict
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.services.org_policy.pagers.ListCustomConstraintsPager

Retrieves all of the custom constraints that exist on
a particular organization resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_list_custom_constraints():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.ListCustomConstraintsRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_list_custom_constraints(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.ListCustomConstraintsRequest, dict]` The request object. The request sent to the \[ListCustomConstraints\] \[google.cloud.orgpolicy.v2.OrgPolicy.ListCustomConstraints\] method. |
| `parent` | `str` Required. The target Google Cloud resource that parents the set of custom constraints that will be returned from this call. Must be in one of the following forms: - `organizations/{organization_id}` This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.pagers.ListCustomConstraintsPager` | The response returned from the \[ListCustomConstraints\] \[google.cloud.orgpolicy.v2.OrgPolicy.ListCustomConstraints\] method. It will be empty if no custom or managed constraints are set on the organization resource. Iterating over this object will yield results and resolve additional pages automatically. |

### list_policies

    list_policies(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.ListPoliciesRequest, dict
            ]
        ] = None,
        *,
        parent: typing.Optional[str] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.services.org_policy.pagers.ListPoliciesPager

Retrieves all of the policies that exist on a
particular resource.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_list_policies():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.ListPoliciesRequest.html(
            parent="parent_value",
        )

        # Make the request
        page_result = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_list_policies(request=request)

        # Handle the response
        for response in page_result:
            print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.ListPoliciesRequest, dict]` The request object. The request sent to the \[ListPolicies\] \[google.cloud.orgpolicy.v2.OrgPolicy.ListPolicies\] method. |
| `parent` | `str` Required. The target Google Cloud resource that parents the set of constraints and policies that will be returned from this call. Must be in one of the following forms: - `projects/{project_number}` - `projects/{project_id}` - `folders/{folder_id}` - `organizations/{organization_id}` This corresponds to the `parent` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.pagers.ListPoliciesPager` | The response returned from the \[ListPolicies\] \[google.cloud.orgpolicy.v2.OrgPolicy.ListPolicies\] method. It will be empty if no policies are set on the resource. Iterating over this object will yield results and resolve additional pages automatically. |

### parse_common_billing_account_path

    parse_common_billing_account_path(path: str) -> typing.Dict[str, str]

Parse a billing_account path into its component segments.

### parse_common_folder_path

    parse_common_folder_path(path: str) -> typing.Dict[str, str]

Parse a folder path into its component segments.

### parse_common_location_path

    parse_common_location_path(path: str) -> typing.Dict[str, str]

Parse a location path into its component segments.

### parse_common_organization_path

    parse_common_organization_path(path: str) -> typing.Dict[str, str]

Parse a organization path into its component segments.

### parse_common_project_path

    parse_common_project_path(path: str) -> typing.Dict[str, str]

Parse a project path into its component segments.

### parse_constraint_path

    parse_constraint_path(path: str) -> typing.Dict[str, str]

Parses a constraint path into its component segments.

### parse_custom_constraint_path

    parse_custom_constraint_path(path: str) -> typing.Dict[str, str]

Parses a custom_constraint path into its component segments.

### parse_policy_path

    parse_policy_path(path: str) -> typing.Dict[str, str]

Parses a policy path into its component segments.

### policy_path

    policy_path(project: str, policy: str) -> str

Returns a fully-qualified policy string.

### update_custom_constraint

    update_custom_constraint(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.UpdateCustomConstraintRequest,
                dict,
            ]
        ] = None,
        *,
        custom_constraint: typing.Optional[
            google.cloud.orgpolicy_v2.types.constraint.CustomConstraint
        ] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.types.constraint.CustomConstraint

Updates a custom constraint.

Returns a `google.rpc.Status` with
`google.rpc.Code.NOT_FOUND` if the constraint does not exist.

Note: the supplied policy will perform a full overwrite of all
fields.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_update_custom_constraint():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.UpdateCustomConstraintRequest.html(
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_update_custom_constraint(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.UpdateCustomConstraintRequest, dict]` The request object. The request sent to the \[UpdateCustomConstraintRequest\] \[google.cloud.orgpolicy.v2.OrgPolicy.UpdateCustomConstraint\] method. |
| `custom_constraint` | `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CustomConstraint` Required. `CustomConstraint` to update. This corresponds to the `custom_constraint` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.CustomConstraint` | A custom constraint defined by customers which can \*only\* be applied to the given resource types and organization. By creating a custom constraint, customers can apply policies of this custom constraint. \*Creating a custom constraint itself does NOT apply any policy enforcement\*. |

### update_policy

    update_policy(
        request: typing.Optional[
            typing.Union[
                google.cloud.orgpolicy_v2.types.orgpolicy.UpdatePolicyRequest, dict
            ]
        ] = None,
        *,
        policy: typing.Optional[google.cloud.orgpolicy_v2.types.orgpolicy.Policy] = None,
        retry: typing.Optional[
            typing.Union[
                google.api_core.retry.retry_unary.Retry,
                google.api_core.gapic_v1.method._MethodDefault,
            ]
        ] = _MethodDefault._DEFAULT_VALUE,
        timeout: typing.Union[float, object] = _MethodDefault._DEFAULT_VALUE,
        metadata: typing.Sequence[typing.Tuple[str, typing.Union[str, bytes]]] = ()
    ) -> google.cloud.orgpolicy_v2.types.orgpolicy.Policy

Updates a policy.

Returns a `google.rpc.Status` with
`google.rpc.Code.NOT_FOUND` if the constraint or the policy do
not exist. Returns a `google.rpc.Status` with
`google.rpc.Code.ABORTED` if the etag supplied in the request
does not match the persisted etag of the policy

Note: the supplied policy will perform a full overwrite of all
fields.

    # This snippet has been automatically generated and should be regarded as a
    # code template only.
    # It will require modifications to work:
    # - It may require correct/in-range values for request initialization.
    # - It may require specifying regional endpoints when creating the service
    #   client as shown in:
    #   https://googleapis.dev/python/google-api-core/latest/client_options.html
    from google.cloud import https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest

    def sample_update_policy():
        # Create a client
        client = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html()

        # Initialize request argument(s)
        request = https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.UpdatePolicyRequest.html(
        )

        # Make the request
        response = client.https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.services.org_policy.OrgPolicyClient.html#google_cloud_orgpolicy_v2_services_org_policy_OrgPolicyClient_update_policy(request=request)

        # Handle the response
        print(response)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `request` | `Union[https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.UpdatePolicyRequest, dict]` The request object. The request sent to the \[UpdatePolicyRequest\] \[google.cloud.orgpolicy.v2.OrgPolicy.UpdatePolicy\] method. |
| `policy` | `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.Policy` Required. Policy to update. This corresponds to the `policy` field on the `request` instance; if `request` is provided, this should not be set. |
| `retry` | `google.api_core.retry.Retry` Designation of what errors, if any, should be retried. |
| `timeout` | `float` The timeout for this request. |
| `metadata` | `Sequence[Tuple[str, Union[str, bytes]]]` Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/python/docs/reference/orgpolicy/latest/google.cloud.orgpolicy_v2.types.Policy` | Defines an organization policy which is used to specify constraints for configurations of Google Cloud resources. |