naftiko: 1.0.0-alpha2 info: label: Amazon CloudFront API — Distributions description: 'Amazon CloudFront API — Distributions. 5 operations. Lead operation: Amazon CloudFront Create a new CloudFront distribution. Self-contained Naftiko capability covering one Amazon Cloudfront business surface.' tags: - Amazon Cloudfront - Distributions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AMAZON_CLOUDFRONT_API_KEY: AMAZON_CLOUDFRONT_API_KEY capability: consumes: - type: http namespace: amazon-cloudfront-distributions baseUri: https://cloudfront.amazonaws.com description: Amazon CloudFront API — Distributions business capability. Self-contained, no shared references. resources: - name: 2020-05-31-distribution path: /2020-05-31/distribution operations: - name: createdistribution method: POST description: Amazon CloudFront Create a new CloudFront distribution outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listdistributions method: GET description: Amazon CloudFront List CloudFront distributions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Marker in: query type: string description: Use this when paginating results to indicate where to begin in your list of distributions. - name: MaxItems in: query type: integer description: The maximum number of distributions to return. - name: 2020-05-31-distribution-Id path: /2020-05-31/distribution/{Id} operations: - name: getdistribution method: GET description: Amazon CloudFront Get a CloudFront distribution outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Id in: path type: string description: The distribution's ID. required: true - name: deletedistribution method: DELETE description: Amazon CloudFront Delete a CloudFront distribution outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Id in: path type: string description: The distribution ID. required: true - name: If-Match in: header type: string description: The value of the ETag header that you received when you disabled the distribution. required: true - name: 2020-05-31-distribution-Id-config path: /2020-05-31/distribution/{Id}/config operations: - name: updatedistribution method: PUT description: Amazon CloudFront Update a CloudFront distribution configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Id in: path type: string description: The distribution's ID. required: true - name: If-Match in: header type: string description: The value of the ETag header that you received when retrieving the distribution's configuration. required: true - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: amazon-cloudfront-distributions-rest port: 8080 description: REST adapter for Amazon CloudFront API — Distributions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/2020-05-31/distribution name: 2020-05-31-distribution description: REST surface for 2020-05-31-distribution. operations: - method: POST name: createdistribution description: Amazon CloudFront Create a new CloudFront distribution call: amazon-cloudfront-distributions.createdistribution with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listdistributions description: Amazon CloudFront List CloudFront distributions call: amazon-cloudfront-distributions.listdistributions with: Marker: rest.Marker MaxItems: rest.MaxItems outputParameters: - type: object mapping: $. - path: /v1/2020-05-31/distribution/{id} name: 2020-05-31-distribution-id description: REST surface for 2020-05-31-distribution-Id. operations: - method: GET name: getdistribution description: Amazon CloudFront Get a CloudFront distribution call: amazon-cloudfront-distributions.getdistribution with: Id: rest.Id outputParameters: - type: object mapping: $. - method: DELETE name: deletedistribution description: Amazon CloudFront Delete a CloudFront distribution call: amazon-cloudfront-distributions.deletedistribution with: Id: rest.Id If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/2020-05-31/distribution/{id}/config name: 2020-05-31-distribution-id-config description: REST surface for 2020-05-31-distribution-Id-config. operations: - method: PUT name: updatedistribution description: Amazon CloudFront Update a CloudFront distribution configuration call: amazon-cloudfront-distributions.updatedistribution with: Id: rest.Id If-Match: rest.If-Match body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: amazon-cloudfront-distributions-mcp port: 9090 transport: http description: MCP adapter for Amazon CloudFront API — Distributions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: amazon-cloudfront-create-new-cloudfront description: Amazon CloudFront Create a new CloudFront distribution hints: readOnly: false destructive: false idempotent: false call: amazon-cloudfront-distributions.createdistribution with: body: tools.body outputParameters: - type: object mapping: $. - name: amazon-cloudfront-list-cloudfront-distributions description: Amazon CloudFront List CloudFront distributions hints: readOnly: true destructive: false idempotent: true call: amazon-cloudfront-distributions.listdistributions with: Marker: tools.Marker MaxItems: tools.MaxItems outputParameters: - type: object mapping: $. - name: amazon-cloudfront-get-cloudfront-distribution description: Amazon CloudFront Get a CloudFront distribution hints: readOnly: true destructive: false idempotent: true call: amazon-cloudfront-distributions.getdistribution with: Id: tools.Id outputParameters: - type: object mapping: $. - name: amazon-cloudfront-delete-cloudfront-distribution description: Amazon CloudFront Delete a CloudFront distribution hints: readOnly: false destructive: true idempotent: true call: amazon-cloudfront-distributions.deletedistribution with: Id: tools.Id If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: amazon-cloudfront-update-cloudfront-distribution description: Amazon CloudFront Update a CloudFront distribution configuration hints: readOnly: false destructive: false idempotent: true call: amazon-cloudfront-distributions.updatedistribution with: Id: tools.Id If-Match: tools.If-Match body: tools.body outputParameters: - type: object mapping: $.