# Binary Authorization V1 API - Class Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client (v1.7.0)

1.7.0 (latest) 1.6.0 1.5.0 1.4.1 1.3.0 1.2.1 1.1.0 1.0.1 0.8.0 0.7.0 0.6.2 0.5.0 0.4.0 0.3.0 0.2.1 0.1.2 Reference documentation and code samples for the Binary Authorization V1 API class Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client.

Client for the SystemPolicy service.


<br />

API for working with the system policy.

## Inherits

- Object

## Includes

- [Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Paths](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Paths)

## Methods

### .configure

    def self.configure() { |config| ... } -> Client::Configuration

Configure the SystemPolicy Client class.


<br />

See [Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client-Configuration "Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client::Configuration (class)")
for a description of the configuration fields.
**Yields**

- (config) --- Configure the Client client.
**Yield Parameter**

- **config** ([Client::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client-Configuration))
**Returns**

- ([Client::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client-Configuration))
**Example**

```ruby
# Modify the configuration for all SystemPolicy clients
::Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client.configure do |config|
  config.timeout = 10.0
end
```

### #configure

    def configure() { |config| ... } -> Client::Configuration

Configure the SystemPolicy Client instance.


The configuration is set to the derived mode, meaning that values can be changed,
but structural changes (adding new fields, etc.) are not allowed. Structural changes
should be made on [Client.configure](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client#Google__Cloud__BinaryAuthorization__V1__SystemPolicy__Client_configure_class_ "Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client.configure (method)").

<br />

See [Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client-Configuration "Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client::Configuration (class)")
for a description of the configuration fields.
**Yields**

- (config) --- Configure the Client client.
**Yield Parameter**

- **config** ([Client::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client-Configuration))
**Returns**

- ([Client::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client-Configuration))

### #get_system_policy

    def get_system_policy(request, options = nil) -> ::Google::Cloud::BinaryAuthorization::V1::Policy
    def get_system_policy(name: nil) -> ::Google::Cloud::BinaryAuthorization::V1::Policy

Gets the current system policy in the specified location.
**Overloads**

    def get_system_policy(request, options = nil) -> ::Google::Cloud::BinaryAuthorization::V1::Policy

Pass arguments to `get_system_policy` via a request object, either of type [GetSystemPolicyRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-GetSystemPolicyRequest "Google::Cloud::BinaryAuthorization::V1::GetSystemPolicyRequest (class)") or an equivalent Hash. **Parameters**

- **request** ([::Google::Cloud::BinaryAuthorization::V1::GetSystemPolicyRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-GetSystemPolicyRequest), ::Hash) --- A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- **options** (::Gapic::CallOptions, ::Hash) --- Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

    def get_system_policy(name: nil) -> ::Google::Cloud::BinaryAuthorization::V1::Policy

Pass arguments to `get_system_policy` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). **Parameter**

- **name** (::String) --- Required. The resource name, in the format `locations/*/policy`. Note that the system policy is not associated with a project.
**Yields**

- (response, operation) --- Access the result along with the RPC operation
**Yield Parameters**

- **response** ([::Google::Cloud::BinaryAuthorization::V1::Policy](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-Policy))
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- ([::Google::Cloud::BinaryAuthorization::V1::Policy](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-Policy))
**Raises**

- (::Google::Cloud::Error) --- if the RPC is aborted.
**Example**

Basic example

```ruby
require "google/cloud/binary_authorization/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::BinaryAuthorization::V1::GetSystemPolicyRequest.new

# Call the get_system_policy method.
result = client.get_system_policy request

# The returned object is of type Google::Cloud::BinaryAuthorization::V1::Policy.
p result
```

### #initialize

    def initialize() { |config| ... } -> Client

Create a new SystemPolicy client object.
**Yields**

- (config) --- Configure the SystemPolicy client.
**Yield Parameter**

- **config** ([Client::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client-Configuration))
**Returns**

- ([Client](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-binary_authorization-v1/latest/Google-Cloud-BinaryAuthorization-V1-SystemPolicy-Client)) --- a new instance of Client
**Example**

```ruby
# Create a client using the default configuration
client = ::Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::BinaryAuthorization::V1::SystemPolicy::Client.new do |config|
  config.timeout = 10.0
end
```

### #logger

    def logger() -> Logger

The logger used for request/response debug logging.
**Returns**

- (Logger)

### #universe_domain

    def universe_domain() -> String

The effective universe domain
**Returns**

- (String)