Class OrgPolicyClient

  • All Implemented Interfaces:
    com.google.api.gax.core.BackgroundResource, AutoCloseable

    @Generated("by gapic-generator-java")
    public class OrgPolicyClient
    extends Object
    implements com.google.api.gax.core.BackgroundResource
    Service Description: An interface for managing organization policies.

    The Cloud Org Policy service provides a simple mechanism for organizations to restrict the allowed configurations across their entire Cloud Resource hierarchy.

    You can use a `policy` to configure restrictions in Cloud resources. For example, you can enforce a `policy` that restricts which Google Cloud Platform 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.

    This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:

    
     // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
       PolicyName name = PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]");
       Policy response = orgPolicyClient.getPolicy(name);
     }
     

    Note: close() needs to be called on the OrgPolicyClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

    The surface of this class includes several types of Java methods for each of the API's methods:

    1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
    2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
    3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

    See the individual methods for example code.

    Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

    This class can be customized by passing in a custom instance of OrgPolicySettings to create(). For example:

    To customize credentials:

    
     // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     OrgPolicySettings orgPolicySettings =
         OrgPolicySettings.newBuilder()
             .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
             .build();
     OrgPolicyClient orgPolicyClient = OrgPolicyClient.create(orgPolicySettings);
     

    To customize the endpoint:

    
     // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     OrgPolicySettings orgPolicySettings =
         OrgPolicySettings.newBuilder().setEndpoint(myEndpoint).build();
     OrgPolicyClient orgPolicyClient = OrgPolicyClient.create(orgPolicySettings);
     

    To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:

    
     // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     OrgPolicySettings orgPolicySettings = OrgPolicySettings.newHttpJsonBuilder().build();
     OrgPolicyClient orgPolicyClient = OrgPolicyClient.create(orgPolicySettings);
     

    Please refer to the GitHub repository's samples for more quickstart code snippets.

    • Constructor Detail

      • OrgPolicyClient

        protected OrgPolicyClient​(OrgPolicySettings settings)
                           throws IOException
        Constructs an instance of OrgPolicyClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
        Throws:
        IOException
      • OrgPolicyClient

        protected OrgPolicyClient​(OrgPolicyStub stub)
    • Method Detail

      • create

        public static final OrgPolicyClient create​(OrgPolicySettings settings)
                                            throws IOException
        Constructs an instance of OrgPolicyClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
        Throws:
        IOException
      • create

        public static final OrgPolicyClient create​(OrgPolicyStub stub)
        Constructs an instance of OrgPolicyClient, using the given stub for making calls. This is for advanced usage - prefer using create(OrgPolicySettings).
      • listConstraints

        public final OrgPolicyClient.ListConstraintsPagedResponse listConstraints​(FolderName parent)
        Lists `Constraints` that could be applied on the specified resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           FolderName parent = FolderName.of("[FOLDER]");
           for (Constraint element : orgPolicyClient.listConstraints(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The 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}`
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listConstraints

        public final OrgPolicyClient.ListConstraintsPagedResponse listConstraints​(OrganizationName parent)
        Lists `Constraints` that could be applied on the specified resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
           for (Constraint element : orgPolicyClient.listConstraints(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The 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}`
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listConstraints

        public final OrgPolicyClient.ListConstraintsPagedResponse listConstraints​(ProjectName parent)
        Lists `Constraints` that could be applied on the specified resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ProjectName parent = ProjectName.of("[PROJECT]");
           for (Constraint element : orgPolicyClient.listConstraints(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The 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}`
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listConstraints

        public final OrgPolicyClient.ListConstraintsPagedResponse listConstraints​(String parent)
        Lists `Constraints` that could be applied on the specified resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           String parent = ProjectName.of("[PROJECT]").toString();
           for (Constraint element : orgPolicyClient.listConstraints(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The 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}`
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listConstraints

        public final OrgPolicyClient.ListConstraintsPagedResponse listConstraints​(ListConstraintsRequest request)
        Lists `Constraints` that could be applied on the specified resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ListConstraintsRequest request =
               ListConstraintsRequest.newBuilder()
                   .setParent(ProjectName.of("[PROJECT]").toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           for (Constraint element : orgPolicyClient.listConstraints(request).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listConstraintsPagedCallable

        public final com.google.api.gax.rpc.UnaryCallable<ListConstraintsRequest,​OrgPolicyClient.ListConstraintsPagedResponse> listConstraintsPagedCallable()
        Lists `Constraints` that could be applied on the specified resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ListConstraintsRequest request =
               ListConstraintsRequest.newBuilder()
                   .setParent(ProjectName.of("[PROJECT]").toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           ApiFuture<Constraint> future =
               orgPolicyClient.listConstraintsPagedCallable().futureCall(request);
           // Do something.
           for (Constraint element : future.get().iterateAll()) {
             // doThingsWith(element);
           }
         }
         
      • listConstraintsCallable

        public final com.google.api.gax.rpc.UnaryCallable<ListConstraintsRequest,​ListConstraintsResponse> listConstraintsCallable()
        Lists `Constraints` that could be applied on the specified resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ListConstraintsRequest request =
               ListConstraintsRequest.newBuilder()
                   .setParent(ProjectName.of("[PROJECT]").toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           while (true) {
             ListConstraintsResponse response = orgPolicyClient.listConstraintsCallable().call(request);
             for (Constraint element : response.getConstraintsList()) {
               // doThingsWith(element);
             }
             String nextPageToken = response.getNextPageToken();
             if (!Strings.isNullOrEmpty(nextPageToken)) {
               request = request.toBuilder().setPageToken(nextPageToken).build();
             } else {
               break;
             }
           }
         }
         
      • listPolicies

        public final OrgPolicyClient.ListPoliciesPagedResponse listPolicies​(FolderName parent)
        Retrieves all of the `Policies` that exist on a particular resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           FolderName parent = FolderName.of("[FOLDER]");
           for (Policy element : orgPolicyClient.listPolicies(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The target 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}`
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listPolicies

        public final OrgPolicyClient.ListPoliciesPagedResponse listPolicies​(OrganizationName parent)
        Retrieves all of the `Policies` that exist on a particular resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
           for (Policy element : orgPolicyClient.listPolicies(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The target 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}`
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listPolicies

        public final OrgPolicyClient.ListPoliciesPagedResponse listPolicies​(ProjectName parent)
        Retrieves all of the `Policies` that exist on a particular resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ProjectName parent = ProjectName.of("[PROJECT]");
           for (Policy element : orgPolicyClient.listPolicies(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The target 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}`
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listPolicies

        public final OrgPolicyClient.ListPoliciesPagedResponse listPolicies​(String parent)
        Retrieves all of the `Policies` that exist on a particular resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           String parent = ProjectName.of("[PROJECT]").toString();
           for (Policy element : orgPolicyClient.listPolicies(parent).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The target 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}`
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listPolicies

        public final OrgPolicyClient.ListPoliciesPagedResponse listPolicies​(ListPoliciesRequest request)
        Retrieves all of the `Policies` that exist on a particular resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ListPoliciesRequest request =
               ListPoliciesRequest.newBuilder()
                   .setParent(ProjectName.of("[PROJECT]").toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           for (Policy element : orgPolicyClient.listPolicies(request).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listPoliciesPagedCallable

        public final com.google.api.gax.rpc.UnaryCallable<ListPoliciesRequest,​OrgPolicyClient.ListPoliciesPagedResponse> listPoliciesPagedCallable()
        Retrieves all of the `Policies` that exist on a particular resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ListPoliciesRequest request =
               ListPoliciesRequest.newBuilder()
                   .setParent(ProjectName.of("[PROJECT]").toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           ApiFuture<Policy> future = orgPolicyClient.listPoliciesPagedCallable().futureCall(request);
           // Do something.
           for (Policy element : future.get().iterateAll()) {
             // doThingsWith(element);
           }
         }
         
      • listPoliciesCallable

        public final com.google.api.gax.rpc.UnaryCallable<ListPoliciesRequest,​ListPoliciesResponse> listPoliciesCallable()
        Retrieves all of the `Policies` that exist on a particular resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ListPoliciesRequest request =
               ListPoliciesRequest.newBuilder()
                   .setParent(ProjectName.of("[PROJECT]").toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .build();
           while (true) {
             ListPoliciesResponse response = orgPolicyClient.listPoliciesCallable().call(request);
             for (Policy element : response.getPoliciesList()) {
               // doThingsWith(element);
             }
             String nextPageToken = response.getNextPageToken();
             if (!Strings.isNullOrEmpty(nextPageToken)) {
               request = request.toBuilder().setPageToken(nextPageToken).build();
             } else {
               break;
             }
           }
         }
         
      • getPolicy

        public final Policy getPolicy​(PolicyName name)
        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.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           PolicyName name = PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]");
           Policy response = orgPolicyClient.getPolicy(name);
         }
         
        Parameters:
        name - Required. Resource name of the policy. See `Policy` for naming requirements.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getPolicy

        public final Policy getPolicy​(String name)
        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.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           String name = PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString();
           Policy response = orgPolicyClient.getPolicy(name);
         }
         
        Parameters:
        name - Required. Resource name of the policy. See `Policy` for naming requirements.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getPolicy

        public final Policy getPolicy​(GetPolicyRequest request)
        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.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           GetPolicyRequest request =
               GetPolicyRequest.newBuilder()
                   .setName(PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString())
                   .build();
           Policy response = orgPolicyClient.getPolicy(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getPolicyCallable

        public final com.google.api.gax.rpc.UnaryCallable<GetPolicyRequest,​Policy> getPolicyCallable()
        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.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           GetPolicyRequest request =
               GetPolicyRequest.newBuilder()
                   .setName(PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString())
                   .build();
           ApiFuture<Policy> future = orgPolicyClient.getPolicyCallable().futureCall(request);
           // Do something.
           Policy response = future.get();
         }
         
      • getEffectivePolicy

        public final Policy getEffectivePolicy​(PolicyName name)
        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 a computed `Policy` across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           PolicyName name = PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]");
           Policy response = orgPolicyClient.getEffectivePolicy(name);
         }
         
        Parameters:
        name - Required. The effective policy to compute. See `Policy` for naming rules.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getEffectivePolicy

        public final Policy getEffectivePolicy​(String name)
        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 a computed `Policy` across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           String name = PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString();
           Policy response = orgPolicyClient.getEffectivePolicy(name);
         }
         
        Parameters:
        name - Required. The effective policy to compute. See `Policy` for naming rules.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getEffectivePolicy

        public final Policy getEffectivePolicy​(GetEffectivePolicyRequest request)
        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 a computed `Policy` across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           GetEffectivePolicyRequest request =
               GetEffectivePolicyRequest.newBuilder()
                   .setName(PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString())
                   .build();
           Policy response = orgPolicyClient.getEffectivePolicy(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • getEffectivePolicyCallable

        public final com.google.api.gax.rpc.UnaryCallable<GetEffectivePolicyRequest,​Policy> getEffectivePolicyCallable()
        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 a computed `Policy` across multiple resources. Subtrees of Resource Manager resource hierarchy with 'under:' prefix will not be expanded.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           GetEffectivePolicyRequest request =
               GetEffectivePolicyRequest.newBuilder()
                   .setName(PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString())
                   .build();
           ApiFuture<Policy> future = orgPolicyClient.getEffectivePolicyCallable().futureCall(request);
           // Do something.
           Policy response = future.get();
         }
         
      • createPolicy

        public final Policy createPolicy​(FolderName parent,
                                         Policy 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 Cloud resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           FolderName parent = FolderName.of("[FOLDER]");
           Policy policy = Policy.newBuilder().build();
           Policy response = orgPolicyClient.createPolicy(parent, policy);
         }
         
        Parameters:
        parent - Required. The 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}`
        policy - Required. `Policy` to create.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createPolicy

        public final Policy createPolicy​(OrganizationName parent,
                                         Policy 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 Cloud resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
           Policy policy = Policy.newBuilder().build();
           Policy response = orgPolicyClient.createPolicy(parent, policy);
         }
         
        Parameters:
        parent - Required. The 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}`
        policy - Required. `Policy` to create.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createPolicy

        public final Policy createPolicy​(ProjectName parent,
                                         Policy 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 Cloud resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           ProjectName parent = ProjectName.of("[PROJECT]");
           Policy policy = Policy.newBuilder().build();
           Policy response = orgPolicyClient.createPolicy(parent, policy);
         }
         
        Parameters:
        parent - Required. The 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}`
        policy - Required. `Policy` to create.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createPolicy

        public final Policy createPolicy​(String parent,
                                         Policy 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 Cloud resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           String parent = ProjectName.of("[PROJECT]").toString();
           Policy policy = Policy.newBuilder().build();
           Policy response = orgPolicyClient.createPolicy(parent, policy);
         }
         
        Parameters:
        parent - Required. The 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}`
        policy - Required. `Policy` to create.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createPolicy

        public final Policy createPolicy​(CreatePolicyRequest request)
        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 Cloud resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           CreatePolicyRequest request =
               CreatePolicyRequest.newBuilder()
                   .setParent(ProjectName.of("[PROJECT]").toString())
                   .setPolicy(Policy.newBuilder().build())
                   .build();
           Policy response = orgPolicyClient.createPolicy(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • createPolicyCallable

        public final com.google.api.gax.rpc.UnaryCallable<CreatePolicyRequest,​Policy> createPolicyCallable()
        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 Cloud resource.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           CreatePolicyRequest request =
               CreatePolicyRequest.newBuilder()
                   .setParent(ProjectName.of("[PROJECT]").toString())
                   .setPolicy(Policy.newBuilder().build())
                   .build();
           ApiFuture<Policy> future = orgPolicyClient.createPolicyCallable().futureCall(request);
           // Do something.
           Policy response = future.get();
         }
         
      • updatePolicy

        public final Policy updatePolicy​(Policy 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.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           Policy policy = Policy.newBuilder().build();
           Policy response = orgPolicyClient.updatePolicy(policy);
         }
         
        Parameters:
        policy - Required. `Policy` to update.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • updatePolicy

        public final Policy updatePolicy​(UpdatePolicyRequest request)
        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.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           UpdatePolicyRequest request =
               UpdatePolicyRequest.newBuilder()
                   .setPolicy(Policy.newBuilder().build())
                   .setUpdateMask(FieldMask.newBuilder().build())
                   .build();
           Policy response = orgPolicyClient.updatePolicy(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • updatePolicyCallable

        public final com.google.api.gax.rpc.UnaryCallable<UpdatePolicyRequest,​Policy> updatePolicyCallable()
        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.

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           UpdatePolicyRequest request =
               UpdatePolicyRequest.newBuilder()
                   .setPolicy(Policy.newBuilder().build())
                   .setUpdateMask(FieldMask.newBuilder().build())
                   .build();
           ApiFuture<Policy> future = orgPolicyClient.updatePolicyCallable().futureCall(request);
           // Do something.
           Policy response = future.get();
         }
         
      • deletePolicy

        public final void deletePolicy​(PolicyName name)
        Deletes a Policy.

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

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           PolicyName name = PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]");
           orgPolicyClient.deletePolicy(name);
         }
         
        Parameters:
        name - Required. Name of the policy to delete. See `Policy` for naming rules.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • deletePolicy

        public final void deletePolicy​(String name)
        Deletes a Policy.

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

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           String name = PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString();
           orgPolicyClient.deletePolicy(name);
         }
         
        Parameters:
        name - Required. Name of the policy to delete. See `Policy` for naming rules.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • deletePolicy

        public final void deletePolicy​(DeletePolicyRequest request)
        Deletes a Policy.

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

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           DeletePolicyRequest request =
               DeletePolicyRequest.newBuilder()
                   .setName(PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString())
                   .build();
           orgPolicyClient.deletePolicy(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • deletePolicyCallable

        public final com.google.api.gax.rpc.UnaryCallable<DeletePolicyRequest,​com.google.protobuf.Empty> deletePolicyCallable()
        Deletes a Policy.

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

        Sample code:

        
         // 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://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (OrgPolicyClient orgPolicyClient = OrgPolicyClient.create()) {
           DeletePolicyRequest request =
               DeletePolicyRequest.newBuilder()
                   .setName(PolicyName.ofProjectPolicyName("[PROJECT]", "[POLICY]").toString())
                   .build();
           ApiFuture<Empty> future = orgPolicyClient.deletePolicyCallable().futureCall(request);
           // Do something.
           future.get();
         }
         
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface com.google.api.gax.core.BackgroundResource
      • isShutdown

        public boolean isShutdown()
        Specified by:
        isShutdown in interface com.google.api.gax.core.BackgroundResource
      • isTerminated

        public boolean isTerminated()
        Specified by:
        isTerminated in interface com.google.api.gax.core.BackgroundResource
      • shutdownNow

        public void shutdownNow()
        Specified by:
        shutdownNow in interface com.google.api.gax.core.BackgroundResource