Class: AWSCDK::SecretsManager::CfnResourcePolicyProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
secrets_manager/cfn_resource_policy_props.rb

Overview

Properties for defining a CfnResourcePolicy.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource_policy:, secret_id:, block_public_policy: nil) ⇒ CfnResourcePolicyProps

Returns a new instance of CfnResourcePolicyProps.

Parameters:

  • resource_policy (Object)

    A JSON-formatted string for an AWS resource-based policy.

  • secret_id (String, AWSCDK::Interfaces::AWSSecretsmanager::ISecretRef)

    The ARN or name of the secret to attach the resource-based policy.

  • block_public_policy (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether to block resource-based policies that allow broad access to the secret.



12
13
14
15
16
17
18
19
# File 'secrets_manager/cfn_resource_policy_props.rb', line 12

def initialize(resource_policy:, secret_id:, block_public_policy: nil)
  @resource_policy = resource_policy
  Jsii::Type.check_type(@resource_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "resourcePolicy")
  @secret_id = secret_id
  Jsii::Type.check_type(@secret_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19zZWNyZXRzbWFuYWdlci5JU2VjcmV0UmVmIn1dfX0=")), "secretId")
  @block_public_policy = block_public_policy
  Jsii::Type.check_type(@block_public_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "blockPublicPolicy") unless @block_public_policy.nil?
end

Instance Attribute Details

#block_public_policyBoolean, ... (readonly)

Specifies whether to block resource-based policies that allow broad access to the secret.

By default, Secrets Manager blocks policies that allow broad access, for example those that use a wildcard for the principal.



41
42
43
# File 'secrets_manager/cfn_resource_policy_props.rb', line 41

def block_public_policy
  @block_public_policy
end

#resource_policyObject (readonly)

A JSON-formatted string for an AWS resource-based policy.

For example policies, see Permissions policy examples .



27
28
29
# File 'secrets_manager/cfn_resource_policy_props.rb', line 27

def resource_policy
  @resource_policy
end

#secret_idString, AWSCDK::Interfaces::AWSSecretsmanager::ISecretRef (readonly)

The ARN or name of the secret to attach the resource-based policy.

For an ARN, we recommend that you specify a complete ARN rather than a partial ARN.



34
35
36
# File 'secrets_manager/cfn_resource_policy_props.rb', line 34

def secret_id
  @secret_id
end

Class Method Details

.jsii_propertiesObject



43
44
45
46
47
48
49
# File 'secrets_manager/cfn_resource_policy_props.rb', line 43

def self.jsii_properties
  {
    :resource_policy => "resourcePolicy",
    :secret_id => "secretId",
    :block_public_policy => "blockPublicPolicy",
  }
end

Instance Method Details

#to_jsiiObject



51
52
53
54
55
56
57
58
59
# File 'secrets_manager/cfn_resource_policy_props.rb', line 51

def to_jsii
  result = {}
  result.merge!({
    "resourcePolicy" => @resource_policy,
    "secretId" => @secret_id,
    "blockPublicPolicy" => @block_public_policy,
  })
  result.compact
end