Copyright | (c) 2013-2016 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Lists information about a resource.
- getResource :: Text -> Text -> GetResource
- data GetResource
- grRestAPIId :: Lens' GetResource Text
- grResourceId :: Lens' GetResource Text
- resource :: Resource
- data Resource
- rPathPart :: Lens' Resource (Maybe Text)
- rPath :: Lens' Resource (Maybe Text)
- rId :: Lens' Resource (Maybe Text)
- rResourceMethods :: Lens' Resource (HashMap Text Method)
- rParentId :: Lens' Resource (Maybe Text)
Creating a Request
Creates a value of GetResource
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
grRestAPIId
- TheRestApi
identifier for the resource.grResourceId
- The identifier for theResource
resource.
data GetResource Source #
Request to list information about a resource.
See: getResource
smart constructor.
Request Lenses
grRestAPIId :: Lens' GetResource Text Source #
The RestApi
identifier for the resource.
grResourceId :: Lens' GetResource Text Source #
The identifier for the Resource
resource.
Destructuring the Response
Creates a value of Resource
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
rPathPart
- The last path segment for this resource.rPath
- The full path for this resource.rId
- The resource's identifier.rResourceMethods
- Gets an API resource's method of a given HTTP verb. The resource methods are a map of methods indexed by methods' HTTP verbs enabled on the resource. This method map is included in the200 OK
response of theGET restapis{restapi_id}resources{resource_id}
orGET restapis{restapi_id}resources{resource_id}?embed=methods
request. Example: Get the GET method of an API resource Request @GET restapisfugvjdxtriresources3kzxbg5sa2methodsGET HTTP1.1 Content-Type: applicationjson Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160608T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}20160608us-east-1apigatewayaws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
{ "_links": { "curies": [ { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", "name": "method", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true } ], "self": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGET", "name": GET, "title": GET }, "integration:put": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "method:delete": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGET" }, "method:integration": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "method:responses": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses200", "name": "200", "title": "200" }, "method:update": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGET" }, "methodresponse:put": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses{status_code}", "templated": true } }, "apiKeyRequired": false, "authorizationType": NONE, "httpMethod": GET, "_embedded": { "method:integration": { "_links": { "self": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "integration:delete": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "integration:responses": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses200", "name": "200", "title": "200" }, "integration:update": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "integrationresponse:put": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", "credentials": "arn:aws:iam::123456789012:roleapigAwsProxyRole", "httpMethod": POST, "passthroughBehavior": WHEN_NO_MATCH, "requestParameters": { "integration.request.header.Content-Type": "'application/x-amz-json-1.1'" }, "requestTemplates": { "applicationjson": "{n}" }, "type": AWS, "uri": "arn:aws:apigateway:us-east-1:kinesis:actionListStreams", "_embedded": { "integration:responses": { "_links": { "self": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses200" }, "integrationresponse:update": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses200" } }, "responseParameters": { "method.response.header.Content-Type": "'applicationxml'" }, "responseTemplates": { "applicationjson": "$util.urlDecode("%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3Cname%3E%3Cstream%3E#end%3CkinesisStreams%3E")n" }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses200", "name": "200", "title": "200" }, "methodresponse:delete": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses200" }, "methodresponse:update": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses200" } }, "responseModels": { "application/json": Empty }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" } } }
If the
OPTIONSis enabled on the resource, you can follow the example here to get that method. Just replace the
GETof the last path segment in the request URL with
OPTIONS@ .rParentId
- The parent resource's identifier.
Response Lenses
rResourceMethods :: Lens' Resource (HashMap Text Method) Source #
Gets an API resource's method of a given HTTP verb. The resource methods are a map of methods indexed by methods' HTTP verbs enabled on the resource. This method map is included in the 200 OK
response of the GET restapis{restapi_id}resources{resource_id}
or GET restapis{restapi_id}resources{resource_id}?embed=methods
request. Example: Get the GET method of an API resource Request @GET restapisfugvjdxtriresources3kzxbg5sa2methodsGET HTTP1.1 Content-Type: applicationjson Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160608T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}20160608us-east-1apigatewayaws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
{ "_links": { "curies": [ { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html", "name": "integration", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html", "name": "method", "templated": true }, { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html", "name": "methodresponse", "templated": true } ], "self": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGET", "name": GET, "title": GET }, "integration:put": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "method:delete": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGET" }, "method:integration": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "method:responses": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses200", "name": "200", "title": "200" }, "method:update": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGET" }, "methodresponse:put": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses{status_code}", "templated": true } }, "apiKeyRequired": false, "authorizationType": NONE, "httpMethod": GET, "_embedded": { "method:integration": { "_links": { "self": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "integration:delete": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "integration:responses": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses200", "name": "200", "title": "200" }, "integration:update": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegration" }, "integrationresponse:put": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses{status_code}", "templated": true } }, "cacheKeyParameters": [], "cacheNamespace": "3kzxbg5sa2", "credentials": "arn:aws:iam::123456789012:roleapigAwsProxyRole", "httpMethod": POST, "passthroughBehavior": WHEN_NO_MATCH, "requestParameters": { "integration.request.header.Content-Type": "'application/x-amz-json-1.1'" }, "requestTemplates": { "applicationjson": "{n}" }, "type": AWS, "uri": "arn:aws:apigateway:us-east-1:kinesis:actionListStreams", "_embedded": { "integration:responses": { "_links": { "self": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses200", "name": "200", "title": "200" }, "integrationresponse:delete": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses200" }, "integrationresponse:update": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETintegrationresponses200" } }, "responseParameters": { "method.response.header.Content-Type": "'applicationxml'" }, "responseTemplates": { "applicationjson": "$util.urlDecode("%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3Cname%3E%3Cstream%3E#end%3CkinesisStreams%3E")n" }, "statusCode": "200" } } }, "method:responses": { "_links": { "self": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses200", "name": "200", "title": "200" }, "methodresponse:delete": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses200" }, "methodresponse:update": { "href": "restapisfugvjdxtriresources3kzxbg5sa2methodsGETresponses200" } }, "responseModels": { "application/json": Empty }, "responseParameters": { "method.response.header.Content-Type": false }, "statusCode": "200" } } }
If the
OPTIONS is enabled on the resource, you can follow the example here to get that method. Just replace the
GET of the last path segment in the request URL with
OPTIONS@ .