def create_secret_id(role_name, options = {})
      headers = extract_headers!(options)
      if options[:secret_id]
        json = client.post("/v1/auth/approle/role/#{encode_path(role_name)}/custom-secret-id", JSON.fast_generate(options), headers)
      else
        json = client.post("/v1/auth/approle/role/#{encode_path(role_name)}/secret-id", JSON.fast_generate(options), headers)
      end
      return Secret.decode(json)
    end
def create_secret_id(role_name, options = {})
      headers = extract_headers!(options)
      if options[:secret_id]
        json = client.post("/v1/auth/approle/role/#{encode_path(role_name)}/custom-secret-id", JSON.fast_generate(options), headers)
      else
        json = client.post("/v1/auth/approle/role/#{encode_path(role_name)}/secret-id", JSON.fast_generate(options), headers)
      end
      return Secret.decode(json)
    end
Generates and issues a new SecretID on an existing AppRole.

 @example Generate a new SecretID
   result = Vault.approle.create_secret_id("testrole") #=> #<Vault::Secret lease_id="...">
   result.data[:secret_id] #=> "841771dc-11c9-bbc7-bcac-6a3945a69cd9"

 @example Assign a custom SecretID
   result = Vault.approle.create_secret_id("testrole", {
     secret_id: "testsecretid"
   }) #=> #<Vault::Secret lease_id="...">
   result.data[:secret_id] #=> "testsecretid"

 @param [String] role_name
   The name of the AppRole
 @param [Hash] options
 @option options [String] :secret_id
   SecretID to be attached to the Role. If not set, then the new SecretID
   will be generated
 @option options [Hash<String, String>] :metadata
   Metadata to be tied to the SecretID. This should be a JSON-formatted
   string containing the metadata in key-value pairs. It will be set on
   tokens issued with this SecretID, and is logged in audit logs in
   plaintext.

 @return [true]