Class: Aws::IAM::RolePolicy

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

Defined Under Namespace

Classes: Collection

Read-Only Attributes collapse

Actions collapse

Associations 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 '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 '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 '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 '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 '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

#identifiersObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


144
145
146
147
148
149
# File 'lib/aws-sdk-iam/role_policy.rb', line 144

def identifiers
  {
    role_name: @role_name,
    name: @name
  }
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 '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 'lib/aws-sdk-iam/role_policy.rb', line 37

def name
  @name
end

#policy_documentString

The policy document.

Returns:

  • (String)


44
45
46
# File '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).

    [1]: wikipedia.org/wiki/regex

Returns:

  • (EmptyStructure)


123
124
125
126
127
128
129
130
# File '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 '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 'lib/aws-sdk-iam/role_policy.rb', line 32

def role_name
  @role_name
end