POST
/
v2
/
integrations
/
collectors
/
aws-cloudformation
Create an AWS CloudFormation template for automatic integration
curl --request POST \
  --url https://api.pelanor.io/v2/integrations/collectors/aws-cloudformation \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "mode": "MANAGEMENT_ACCOUNT"
}'
{
  "contentType": "<string>",
  "data": "aSDinaTvuI8gbWludGxpZnk=",
  "extensions": [
    {
      "@type": "<string>"
    }
  ]
}
This endpoint allows you to create an automatic integration by generating CloudFormation templates that are executed on the client Billing (Management) and Subaccounts. Refer to the AWS Integration documentation for more information on how this type of integration works. Typical Workflow:
1

Generate Management CloudFormation Template

Call this endpoint with the appropriate parameter, to generate the management / billing account CloudFormation template with your Pelanor organization credentials.
2

Run Management CF

Run the generated template in us-east-1.
3

Generate Subaccount CF

Call this endpoint with the subaccount CloudFormation parameter, to get the StackSet file to run in order to collect subaccount-related information. Note the Include Subaccount Bucket option.
4

Run Subaccount CF

Run the generated template in us-east-1.
The AWS Integration will only appear in the Pelanor platform (and in the List Integrations API) once Pelanor receives data from your AWS integration. This can take up to 48 hours to propagate.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Response

200
application/json

A successful response.

Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page.

This message can be used both in streaming and non-streaming API methods in the request as well as the response.

It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body.

Example:

message GetResourceRequest {
// A unique request id.
string request_id = 1;

// The raw HTTP body is bound to this field.
google.api.HttpBody http_body = 2;

}

service ResourceService {
rpc GetResource(GetResourceRequest)
returns (google.api.HttpBody);
rpc UpdateResource(google.api.HttpBody)
returns (google.protobuf.Empty);

}

Example with streaming methods:

service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);

}

Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.