def set_role(name, options = {})
      headers = extract_headers!(options)
      client.post("/v1/auth/approle/role/#{encode_path(name)}", JSON.fast_generate(options), headers)
      return true
    end
def set_role(name, options = {})
      headers = extract_headers!(options)
      client.post("/v1/auth/approle/role/#{encode_path(name)}", JSON.fast_generate(options), headers)
      return true
    end
Creates a new AppRole or update an existing AppRole with the given name
 and attributes.

 @example
   Vault.approle.set_role("testrole", {
     secret_id_ttl: "10m",
     token_ttl:     "20m",
     policies:      "default",
     period:        3600,
   }) #=> true

 @param [String] name
   The name of the AppRole
 @param [Hash] options
 @option options [Boolean] :bind_secret_id
   Require secret_id to be presented when logging in using this AppRole.
 @option options [String] :bound_cidr_list
   Comma-separated list of CIDR blocks. Specifies blocks of IP addresses
   which can perform the login operation.
 @option options [String] :policies
   Comma-separated list of policies set on tokens issued via this AppRole.
 @option options [String] :secret_id_num_uses
   Number of times any particular SecretID can be used to fetch a token
   from this AppRole, after which the SecretID will expire.
 @option options [Fixnum, String] :secret_id_ttl
   The number of seconds or a golang-formatted timestamp like "60m" after
   which any SecretID expires.
 @option options [Fixnum, String] :token_ttl
   The number of seconds or a golang-formatted timestamp like "60m" to set
   as the TTL for issued tokens and at renewal time.
 @option options [Fixnum, String] :token_max_ttl
   The number of seconds or a golang-formatted timestamp like "60m" after
   which the issued token can no longer be renewed.
 @option options [Fixnum, String] :period
   The number of seconds or a golang-formatted timestamp like "60m".
   If set, the token generated using this AppRole is a periodic token.
   So long as it is renewed it never expires, but the TTL set on the token
   at each renewal is fixed to the value specified here. If this value is
   modified, the token will pick up the new value at its next renewal.

 @return [true]