You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::IAM::RolePolicy

Inherits:
Object
  • Object
show all
Defined in:
gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb

Defined Under Namespace

Classes: Collection

Actions collapse

Associations collapse

Read-Only Attributes collapse

Instance Method Summary collapse

Constructor Details

#initialize(role_name, name, options = {}) ⇒ RolePolicy #initialize(options = {}) ⇒ RolePolicy

Returns a new instance of RolePolicy

Overloads:

  • #initialize(role_name, name, options = {}) ⇒ RolePolicy

    Parameters:

    • role_name (String)
    • name (String)

    Options Hash (options):

  • #initialize(options = {}) ⇒ RolePolicy

    Options Hash (options):

    • :role_name (required, String)
    • :name (required, String)
    • :client (Client)


21
22
23
24
25
26
27
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 21

def initialize(*args)
  options = Hash === args.last ? args.pop.dup : {}
  @role_name = extract_role_name(args, options)
  @name = extract_name(args, options)
  @data = options.delete(:data)
  @client = options.delete(:client) || Client.new(options)
end

Instance Method Details

#clientClient

Returns:



51
52
53
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 51

def client
  @client
end

#dataTypes::GetRolePolicyResponse

Returns the data for this Aws::IAM::RolePolicy. Calls Client#get_role_policy if #data_loaded? is false.

Returns:



74
75
76
77
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 74

def data
  load unless @data
  @data
end

#data_loaded?Boolean

Returns true if this resource is loaded. Accessing attributes or #data on an unloaded resource will trigger a call to #load.

Returns:

  • (Boolean)

    Returns true if this resource is loaded. Accessing attributes or #data on an unloaded resource will trigger a call to #load.



82
83
84
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 82

def data_loaded?
  !!@data
end

#delete(options = {}) ⇒ EmptyStructure

Examples:

Request syntax with placeholder values


role_policy.delete()

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Returns:

  • (EmptyStructure)


93
94
95
96
97
98
99
100
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 93

def delete(options = {})
  options = options.merge(
    role_name: @role_name,
    policy_name: @name
  )
  resp = @client.delete_role_policy(options)
  resp.data
end

#loadself Also known as: reload

Loads, or reloads #data for the current Aws::IAM::RolePolicy. Returns self making it possible to chain methods.

role_policy.reload.data

Returns:

  • (self)


61
62
63
64
65
66
67
68
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 61

def load
  resp = @client.get_role_policy(
    role_name: @role_name,
    policy_name: @name
  )
  @data = resp.data
  self
end

#nameString Also known as: policy_name

Returns:

  • (String)


37
38
39
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 37

def name
  @name
end

#policy_documentString

The policy document.

Returns:

  • (String)


44
45
46
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 44

def policy_document
  data.policy_document
end

#put(options = {}) ⇒ EmptyStructure

Examples:

Request syntax with placeholder values


role_policy.put({
  policy_document: "policyDocumentType", # required
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :policy_document (required, String)

    The policy document.

    The regex pattern used to validate this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\u0020) through end of the ASCII character range as well as the printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). It also includes the special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D).

Returns:

  • (EmptyStructure)


123
124
125
126
127
128
129
130
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 123

def put(options = {})
  options = options.merge(
    role_name: @role_name,
    policy_name: @name
  )
  resp = @client.put_role_policy(options)
  resp.data
end

#roleRole

Returns:



135
136
137
138
139
140
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 135

def role
  Role.new(
    name: @role_name,
    client: @client
  )
end

#role_nameString

Returns:

  • (String)


32
33
34
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/role_policy.rb', line 32

def role_name
  @role_name
end