Class: AWSCDK::Budgets::CfnBudgetsAction::IAMActionDefinitionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
budgets/cfn_budgets_action.rb

Overview

The AWS Identity and Access Management ( IAM ) action definition details.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(policy_arn:, groups: nil, roles: nil, users: nil) ⇒ IAMActionDefinitionProperty

Returns a new instance of IAMActionDefinitionProperty.

Parameters:

  • policy_arn (String)

    The Amazon Resource Name (ARN) of the policy to be attached.

  • groups (Array<String>, nil) (defaults to: nil)

    A list of groups to be attached.

  • roles (Array<String>, nil) (defaults to: nil)

    A list of roles to be attached.

  • users (Array<String>, nil) (defaults to: nil)

    A list of users to be attached.



717
718
719
720
721
722
723
724
725
726
# File 'budgets/cfn_budgets_action.rb', line 717

def initialize(policy_arn:, groups: nil, roles: nil, users: nil)
  @policy_arn = policy_arn
  Jsii::Type.check_type(@policy_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "policyArn")
  @groups = groups
  Jsii::Type.check_type(@groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "groups") unless @groups.nil?
  @roles = roles
  Jsii::Type.check_type(@roles, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "roles") unless @roles.nil?
  @users = users
  Jsii::Type.check_type(@users, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "users") unless @users.nil?
end

Instance Attribute Details

#groupsArray<String>? (readonly)

A list of groups to be attached.

There must be at least one group.



739
740
741
# File 'budgets/cfn_budgets_action.rb', line 739

def groups
  @groups
end

#policy_arnString (readonly)

The Amazon Resource Name (ARN) of the policy to be attached.



732
733
734
# File 'budgets/cfn_budgets_action.rb', line 732

def policy_arn
  @policy_arn
end

#rolesArray<String>? (readonly)

A list of roles to be attached.

There must be at least one role.



746
747
748
# File 'budgets/cfn_budgets_action.rb', line 746

def roles
  @roles
end

#usersArray<String>? (readonly)

A list of users to be attached.

There must be at least one user.



753
754
755
# File 'budgets/cfn_budgets_action.rb', line 753

def users
  @users
end

Class Method Details

.jsii_propertiesObject



755
756
757
758
759
760
761
762
# File 'budgets/cfn_budgets_action.rb', line 755

def self.jsii_properties
  {
    :policy_arn => "policyArn",
    :groups => "groups",
    :roles => "roles",
    :users => "users",
  }
end

Instance Method Details

#to_jsiiObject



764
765
766
767
768
769
770
771
772
773
# File 'budgets/cfn_budgets_action.rb', line 764

def to_jsii
  result = {}
  result.merge!({
    "policyArn" => @policy_arn,
    "groups" => @groups,
    "roles" => @roles,
    "users" => @users,
  })
  result.compact
end