Class: AWSCDK::Signer::CfnProfilePermissionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
signer/cfn_profile_permission_props.rb

Overview

Properties for defining a CfnProfilePermission.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(action:, principal:, profile_name:, statement_id:, profile_version: nil) ⇒ CfnProfilePermissionProps

Returns a new instance of CfnProfilePermissionProps.

Parameters:

  • action (String)

    The AWS Signer action permitted as part of cross-account permissions.

  • principal (String)

    The AWS principal receiving cross-account permissions.

  • profile_name (String)

    The human-readable name of the signing profile.

  • statement_id (String)

    A unique identifier for the cross-account permission statement.

  • profile_version (String, nil) (defaults to: nil)

    The version of the signing profile.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'signer/cfn_profile_permission_props.rb', line 14

def initialize(action:, principal:, profile_name:, statement_id:, profile_version: nil)
  @action = action
  Jsii::Type.check_type(@action, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "action")
  @principal = principal
  Jsii::Type.check_type(@principal, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "principal")
  @profile_name = profile_name
  Jsii::Type.check_type(@profile_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "profileName")
  @statement_id = statement_id
  Jsii::Type.check_type(@statement_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "statementId")
  @profile_version = profile_version
  Jsii::Type.check_type(@profile_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "profileVersion") unless @profile_version.nil?
end

Instance Attribute Details

#actionString (readonly)

The AWS Signer action permitted as part of cross-account permissions.



31
32
33
# File 'signer/cfn_profile_permission_props.rb', line 31

def action
  @action
end

#principalString (readonly)

The AWS principal receiving cross-account permissions.

This may be an IAM role or another AWS account ID.



38
39
40
# File 'signer/cfn_profile_permission_props.rb', line 38

def principal
  @principal
end

#profile_nameString (readonly)

The human-readable name of the signing profile.



43
44
45
# File 'signer/cfn_profile_permission_props.rb', line 43

def profile_name
  @profile_name
end

#profile_versionString? (readonly)

The version of the signing profile.



53
54
55
# File 'signer/cfn_profile_permission_props.rb', line 53

def profile_version
  @profile_version
end

#statement_idString (readonly)

A unique identifier for the cross-account permission statement.



48
49
50
# File 'signer/cfn_profile_permission_props.rb', line 48

def statement_id
  @statement_id
end

Class Method Details

.jsii_propertiesObject



55
56
57
58
59
60
61
62
63
# File 'signer/cfn_profile_permission_props.rb', line 55

def self.jsii_properties
  {
    :action => "action",
    :principal => "principal",
    :profile_name => "profileName",
    :statement_id => "statementId",
    :profile_version => "profileVersion",
  }
end

Instance Method Details

#to_jsiiObject



65
66
67
68
69
70
71
72
73
74
75
# File 'signer/cfn_profile_permission_props.rb', line 65

def to_jsii
  result = {}
  result.merge!({
    "action" => @action,
    "principal" => @principal,
    "profileName" => @profile_name,
    "statementId" => @statement_id,
    "profileVersion" => @profile_version,
  })
  result.compact
end