Reference documentation and code samples for the Policy Simulator API module Google::Cloud::PolicySimulator.
Methods
.configure
defself.configure()->::Google::Cloud::Config
Configure the google-cloud-policy_simulator library.
The following configuration parameters are supported:
credentials (type:String, Hash, Google::Auth::Credentials) -
The path to the keyfile as a String, the contents of the keyfile as a
Hash, or a Google::Auth::Credentials object.
lib_name (type:String) -
The library name as recorded in instrumentation and logging.
lib_version (type:String) -
The library version as recorded in instrumentation and logging.
interceptors (type:Array<GRPC::ClientInterceptor>) -
An array of interceptors that are run before calls are executed.
timeout (type:Numeric) -
Default timeout in seconds.
metadata (type:Hash{Symbol=>String}) -
Additional headers to be sent with the call.
retry_policy (type:Hash) -
The retry policy. The value is a hash with the following keys:
:initial_delay (type:Numeric) - The initial delay in seconds.
:max_delay (type:Numeric) - The max delay in seconds.
:multiplier (type:Numeric) - The incremental backoff multiplier.
:retry_codes (type:Array<String>) -
The error codes that should trigger a retry.
Yields
(::Google::Cloud.configure.policy_simulator)
Returns
(::Google::Cloud::Config) — The default configuration used by this library
Create a new client object for OrgPolicyViolationsPreviewService.
By default, this returns an instance of
Google::Cloud::PolicySimulator::V1::OrgPolicyViolationsPreviewService::Client
for a gRPC client for version V1 of the API.
However, you can specify a different API version by passing it in the
version parameter. If the OrgPolicyViolationsPreviewService service is
supported by that API version, and the corresponding gem is available, the
appropriate versioned client will be returned.
You can also specify a different transport by passing :rest or :grpc in
the transport parameter.
Raises an exception if the currently installed versioned client gem for the
given API version does not support the given transport of the OrgPolicyViolationsPreviewService service.
You can determine whether the method will succeed by calling
PolicySimulator.org_policy_violations_preview_service_available?.
About OrgPolicyViolationsPreviewService
Violations Preview API service for OrgPolicy.
An
OrgPolicyViolationsPreview
is a preview of the violations that will exist as soon as a proposed
OrgPolicy change is submitted. To create an
OrgPolicyViolationsPreview,
the API user specifies the changes they wish to make and requests the
generation of a preview via [GenerateViolationsPreview][]. the OrgPolicy
Simulator service then scans the API user's currently existing resources to
determine these resources violate the newly set OrgPolicy.
Parameters
version (::String, ::Symbol) (defaults to: :v1) — The API version to connect to. Optional.
Defaults to :v1.
transport (:grpc, :rest) (defaults to: :grpc) — The transport to use. Defaults to :grpc.
Returns
(::Object) — A client object for the specified version.
Determines whether the OrgPolicyViolationsPreviewService service is supported by the current client.
If true, you can retrieve a client object by calling PolicySimulator.org_policy_violations_preview_service.
If false, that method will raise an exception. This could happen if the given
API version does not exist or does not support the OrgPolicyViolationsPreviewService service,
or if the versioned client gem needs an update to support the OrgPolicyViolationsPreviewService service.
Parameters
version (::String, ::Symbol) (defaults to: :v1) — The API version to connect to. Optional.
Defaults to :v1.
transport (:grpc, :rest) (defaults to: :grpc) — The transport to use. Defaults to :grpc.
By default, this returns an instance of
Google::Cloud::PolicySimulator::V1::Simulator::Client
for a gRPC client for version V1 of the API.
However, you can specify a different API version by passing it in the
version parameter. If the Simulator service is
supported by that API version, and the corresponding gem is available, the
appropriate versioned client will be returned.
You can also specify a different transport by passing :rest or :grpc in
the transport parameter.
Raises an exception if the currently installed versioned client gem for the
given API version does not support the given transport of the Simulator service.
You can determine whether the method will succeed by calling
PolicySimulator.simulator_available?.
About Simulator
Policy Simulator API service.
Policy Simulator is a collection of endpoints for creating, running, and
viewing a Replay. A
Replay is a type of simulation that
lets you see how your principals' access to resources might change if you
changed your IAM policy.
During a Replay, Policy Simulator
re-evaluates, or replays, past access attempts under both the current policy
and your proposed policy, and compares those results to determine how your
principals' access might change under the proposed policy.
Parameters
version (::String, ::Symbol) (defaults to: :v1) — The API version to connect to. Optional.
Defaults to :v1.
transport (:grpc, :rest) (defaults to: :grpc) — The transport to use. Defaults to :grpc.
Returns
(::Object) — A client object for the specified version.
Determines whether the Simulator service is supported by the current client.
If true, you can retrieve a client object by calling PolicySimulator.simulator.
If false, that method will raise an exception. This could happen if the given
API version does not exist or does not support the Simulator service,
or if the versioned client gem needs an update to support the Simulator service.
Parameters
version (::String, ::Symbol) (defaults to: :v1) — The API version to connect to. Optional.
Defaults to :v1.
transport (:grpc, :rest) (defaults to: :grpc) — The transport to use. Defaults to :grpc.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-09 UTC."],[],[],null,["# Policy Simulator API - Module Google::Cloud::PolicySimulator (v1.3.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.3.0 (latest)](/ruby/docs/reference/google-cloud-policy_simulator/latest/Google-Cloud-PolicySimulator)\n- [1.2.1](/ruby/docs/reference/google-cloud-policy_simulator/1.2.1/Google-Cloud-PolicySimulator)\n- [1.1.0](/ruby/docs/reference/google-cloud-policy_simulator/1.1.0/Google-Cloud-PolicySimulator)\n- [1.0.0](/ruby/docs/reference/google-cloud-policy_simulator/1.0.0/Google-Cloud-PolicySimulator)\n- [0.3.0](/ruby/docs/reference/google-cloud-policy_simulator/0.3.0/Google-Cloud-PolicySimulator)\n- [0.2.0](/ruby/docs/reference/google-cloud-policy_simulator/0.2.0/Google-Cloud-PolicySimulator)\n- [0.1.0](/ruby/docs/reference/google-cloud-policy_simulator/0.1.0/Google-Cloud-PolicySimulator) \nReference documentation and code samples for the Policy Simulator API module Google::Cloud::PolicySimulator.\n\nMethods\n-------\n\n### .configure\n\n def self.configure() -\u003e ::Google::Cloud::Config\n\nConfigure the google-cloud-policy_simulator library.\n\nThe following configuration parameters are supported:\n\n- `credentials` (*type:* `String, Hash, Google::Auth::Credentials`) - The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object.\n- `lib_name` (*type:* `String`) - The library name as recorded in instrumentation and logging.\n- `lib_version` (*type:* `String`) - The library version as recorded in instrumentation and logging.\n- `interceptors` (*type:* `Array\u003cGRPC::ClientInterceptor\u003e`) - An array of interceptors that are run before calls are executed.\n- `timeout` (*type:* `Numeric`) - Default timeout in seconds.\n- `metadata` (*type:* `Hash{Symbol=\u003eString}`) - Additional headers to be sent with the call.\n- `retry_policy` (*type:* `Hash`) - The retry policy. The value is a hash with the following keys:\n - `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.\n - `:max_delay` (*type:* `Numeric`) - The max delay in seconds.\n - `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.\n- `:retry_codes` (*type:* `Array\u003cString\u003e`) - The error codes that should trigger a retry. \n**Yields**\n\n- (::Google::Cloud.configure.policy_simulator) \n**Returns**\n\n- (::Google::Cloud::Config) --- The default configuration used by this library\n\n### .org_policy_violations_preview_service\n\n def self.org_policy_violations_preview_service(version: :v1, transport: :grpc, &block) -\u003e ::Object\n\nCreate a new client object for OrgPolicyViolationsPreviewService.\n\n\nBy default, this returns an instance of\n[Google::Cloud::PolicySimulator::V1::OrgPolicyViolationsPreviewService::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-policy_simulator-v1/latest/Google-Cloud-PolicySimulator-V1-OrgPolicyViolationsPreviewService-Client)\nfor a gRPC client for version V1 of the API.\nHowever, you can specify a different API version by passing it in the\n`version` parameter. If the OrgPolicyViolationsPreviewService service is\nsupported by that API version, and the corresponding gem is available, the\nappropriate versioned client will be returned.\nYou can also specify a different transport by passing `:rest` or `:grpc` in\nthe `transport` parameter.\n\nRaises an exception if the currently installed versioned client gem for the\ngiven API version does not support the given transport of the OrgPolicyViolationsPreviewService service.\nYou can determine whether the method will succeed by calling\n[PolicySimulator.org_policy_violations_preview_service_available?](/ruby/docs/reference/google-cloud-policy_simulator/latest/Google-Cloud-PolicySimulator#Google__Cloud__PolicySimulator_org_policy_violations_preview_service_available__class_ \"Google::Cloud::PolicySimulator.org_policy_violations_preview_service_available? (method)\").\n\n#### About OrgPolicyViolationsPreviewService\n\nViolations Preview API service for OrgPolicy.\n\n\u003cbr /\u003e\n\nAn\nOrgPolicyViolationsPreview\nis a preview of the violations that will exist as soon as a proposed\nOrgPolicy change is submitted. To create an\nOrgPolicyViolationsPreview,\nthe API user specifies the changes they wish to make and requests the\ngeneration of a preview via \\[GenerateViolationsPreview\\]\\[\\]. the OrgPolicy\nSimulator service then scans the API user's currently existing resources to\ndetermine these resources violate the newly set OrgPolicy. \n**Parameters**\n\n- **version** (::String, ::Symbol) *(defaults to: :v1)* --- The API version to connect to. Optional. Defaults to `:v1`.\n- **transport** (:grpc, :rest) *(defaults to: :grpc)* --- The transport to use. Defaults to `:grpc`. \n**Returns**\n\n- (::Object) --- A client object for the specified version.\n\n### .org_policy_violations_preview_service_available?\n\n def self.org_policy_violations_preview_service_available?(version: :v1, transport: :grpc) -\u003e boolean\n\nDetermines whether the OrgPolicyViolationsPreviewService service is supported by the current client.\nIf true, you can retrieve a client object by calling [PolicySimulator.org_policy_violations_preview_service](/ruby/docs/reference/google-cloud-policy_simulator/latest/Google-Cloud-PolicySimulator#Google__Cloud__PolicySimulator_org_policy_violations_preview_service_class_ \"Google::Cloud::PolicySimulator.org_policy_violations_preview_service (method)\").\nIf false, that method will raise an exception. This could happen if the given\nAPI version does not exist or does not support the OrgPolicyViolationsPreviewService service,\nor if the versioned client gem needs an update to support the OrgPolicyViolationsPreviewService service. \n**Parameters**\n\n- **version** (::String, ::Symbol) *(defaults to: :v1)* --- The API version to connect to. Optional. Defaults to `:v1`.\n- **transport** (:grpc, :rest) *(defaults to: :grpc)* --- The transport to use. Defaults to `:grpc`. \n**Returns**\n\n- (boolean) --- Whether the service is available.\n\n### .simulator\n\n def self.simulator(version: :v1, transport: :grpc, &block) -\u003e ::Object\n\nCreate a new client object for Simulator.\n\n\nBy default, this returns an instance of\n[Google::Cloud::PolicySimulator::V1::Simulator::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-policy_simulator-v1/latest/Google-Cloud-PolicySimulator-V1-Simulator-Client)\nfor a gRPC client for version V1 of the API.\nHowever, you can specify a different API version by passing it in the\n`version` parameter. If the Simulator service is\nsupported by that API version, and the corresponding gem is available, the\nappropriate versioned client will be returned.\nYou can also specify a different transport by passing `:rest` or `:grpc` in\nthe `transport` parameter.\n\nRaises an exception if the currently installed versioned client gem for the\ngiven API version does not support the given transport of the Simulator service.\nYou can determine whether the method will succeed by calling\n[PolicySimulator.simulator_available?](/ruby/docs/reference/google-cloud-policy_simulator/latest/Google-Cloud-PolicySimulator#Google__Cloud__PolicySimulator_simulator_available__class_ \"Google::Cloud::PolicySimulator.simulator_available? (method)\").\n\n#### About Simulator\n\nPolicy Simulator API service.\n\nPolicy Simulator is a collection of endpoints for creating, running, and\nviewing a Replay. A\nReplay is a type of simulation that\nlets you see how your principals' access to resources might change if you\nchanged your IAM policy.\n\n\u003cbr /\u003e\n\nDuring a Replay, Policy Simulator\nre-evaluates, or replays, past access attempts under both the current policy\nand your proposed policy, and compares those results to determine how your\nprincipals' access might change under the proposed policy. \n**Parameters**\n\n- **version** (::String, ::Symbol) *(defaults to: :v1)* --- The API version to connect to. Optional. Defaults to `:v1`.\n- **transport** (:grpc, :rest) *(defaults to: :grpc)* --- The transport to use. Defaults to `:grpc`. \n**Returns**\n\n- (::Object) --- A client object for the specified version.\n\n### .simulator_available?\n\n def self.simulator_available?(version: :v1, transport: :grpc) -\u003e boolean\n\nDetermines whether the Simulator service is supported by the current client.\nIf true, you can retrieve a client object by calling [PolicySimulator.simulator](/ruby/docs/reference/google-cloud-policy_simulator/latest/Google-Cloud-PolicySimulator#Google__Cloud__PolicySimulator_simulator_class_ \"Google::Cloud::PolicySimulator.simulator (method)\").\nIf false, that method will raise an exception. This could happen if the given\nAPI version does not exist or does not support the Simulator service,\nor if the versioned client gem needs an update to support the Simulator service. \n**Parameters**\n\n- **version** (::String, ::Symbol) *(defaults to: :v1)* --- The API version to connect to. Optional. Defaults to `:v1`.\n- **transport** (:grpc, :rest) *(defaults to: :grpc)* --- The transport to use. Defaults to `:grpc`. \n**Returns**\n\n- (boolean) --- Whether the service is available.\n\nConstants\n---------\n\n### VERSION\n\n**value:**\"1.3.0\""]]