Skip to content

Commit 81d454b

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit de2517ad of spec repo
1 parent 31849e1 commit 81d454b

11 files changed

+548
-4
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2025-07-02 12:38:43.717493",
8-
"spec_repo_commit": "4fd1c189"
7+
"regenerated": "2025-07-02 16:34:52.201607",
8+
"spec_repo_commit": "de2517ad"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-07-02 12:38:43.733432",
13-
"spec_repo_commit": "4fd1c189"
12+
"regenerated": "2025-07-02 16:34:52.217566",
13+
"spec_repo_commit": "de2517ad"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1536,6 +1536,54 @@ components:
15361536
- type
15371537
- credentials
15381538
type: object
1539+
AWSIntegrationIamPermissionsResponse:
1540+
description: AWS Integration IAM Permissions response body.
1541+
properties:
1542+
data:
1543+
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseData'
1544+
required:
1545+
- data
1546+
type: object
1547+
AWSIntegrationIamPermissionsResponseAttributes:
1548+
description: AWS Integration IAM Permissions response attributes.
1549+
properties:
1550+
permissions:
1551+
description: List of AWS IAM permissions required for the integration.
1552+
example:
1553+
- account:GetContactInformation
1554+
- amplify:ListApps
1555+
- amplify:ListArtifacts
1556+
- amplify:ListBackendEnvironments
1557+
- amplify:ListBranches
1558+
items:
1559+
example: account:GetContactInformation
1560+
type: string
1561+
type: array
1562+
required:
1563+
- permissions
1564+
type: object
1565+
AWSIntegrationIamPermissionsResponseData:
1566+
description: AWS Integration IAM Permissions response data.
1567+
properties:
1568+
attributes:
1569+
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseAttributes'
1570+
id:
1571+
default: permissions
1572+
description: The `AWSIntegrationIamPermissionsResponseData` `id`.
1573+
example: permissions
1574+
type: string
1575+
type:
1576+
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseDataType'
1577+
type: object
1578+
AWSIntegrationIamPermissionsResponseDataType:
1579+
default: permissions
1580+
description: The `AWSIntegrationIamPermissionsResponseData` `type`.
1581+
enum:
1582+
- permissions
1583+
example: permissions
1584+
type: string
1585+
x-enum-varnames:
1586+
- PERMISSIONS
15391587
AWSIntegrationType:
15401588
description: The definition of `AWSIntegrationType` object.
15411589
enum:
@@ -49519,6 +49567,22 @@ paths:
4951949567
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
4952049568

4952149569
contact [Datadog support](https://docs.datadoghq.com/help/).**'
49570+
/api/v2/integration/aws/iam_permissions:
49571+
get:
49572+
description: Get all AWS IAM permissions required for the AWS integration.
49573+
operationId: GetAWSIntegrationIAMPermissions
49574+
responses:
49575+
'200':
49576+
content:
49577+
application/json:
49578+
schema:
49579+
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse'
49580+
description: AWS IAM Permissions object
49581+
'429':
49582+
$ref: '#/components/responses/TooManyRequestsResponse'
49583+
summary: Get AWS integration IAM permissions
49584+
tags:
49585+
- AWS Integration
4952249586
/api/v2/integration/aws/logs/services:
4952349587
get:
4952449588
description: Get a list of AWS services that can send logs to Datadog.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Get AWS integration IAM permissions returns "AWS IAM Permissions object" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V2::AWSIntegrationAPI.new
5+
p api_instance.get_aws_integration_iam_permissions()

features/v2/aws_integration.feature

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ Feature: AWS Integration
8282
When the request is sent
8383
Then the response status is 200 AWS External ID object
8484

85+
@generated @skip @team:DataDog/aws-integrations
86+
Scenario: Get AWS integration IAM permissions returns "AWS IAM Permissions object" response
87+
Given new "GetAWSIntegrationIAMPermissions" request
88+
When the request is sent
89+
Then the response status is 200 AWS IAM Permissions object
90+
8591
@team:DataDog/aws-integrations
8692
Scenario: Get an AWS integration by config ID returns "AWS Account object" response
8793
Given operation "GetAWSAccount" enabled

features/v2/undo.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,6 +1214,12 @@
12141214
"type": "safe"
12151215
}
12161216
},
1217+
"GetAWSIntegrationIAMPermissions": {
1218+
"tag": "AWS Integration",
1219+
"undo": {
1220+
"type": "safe"
1221+
}
1222+
},
12171223
"ListAWSLogsServices": {
12181224
"tag": "AWS Logs Integration",
12191225
"undo": {

lib/datadog_api_client/inflector.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,6 +1125,10 @@ def overrides
11251125
"v2.aws_cur_configs_response" => "AwsCURConfigsResponse",
11261126
"v2.aws_cur_config_type" => "AwsCURConfigType",
11271127
"v2.aws_integration" => "AWSIntegration",
1128+
"v2.aws_integration_iam_permissions_response" => "AWSIntegrationIamPermissionsResponse",
1129+
"v2.aws_integration_iam_permissions_response_attributes" => "AWSIntegrationIamPermissionsResponseAttributes",
1130+
"v2.aws_integration_iam_permissions_response_data" => "AWSIntegrationIamPermissionsResponseData",
1131+
"v2.aws_integration_iam_permissions_response_data_type" => "AWSIntegrationIamPermissionsResponseDataType",
11281132
"v2.aws_integration_type" => "AWSIntegrationType",
11291133
"v2.aws_integration_update" => "AWSIntegrationUpdate",
11301134
"v2.aws_lambda_forwarder_config" => "AWSLambdaForwarderConfig",

lib/datadog_api_client/v2/api/aws_integration_api.rb

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,66 @@ def get_aws_account_with_http_info(aws_account_config_id, opts = {})
304304
return data, status_code, headers
305305
end
306306

307+
# Get AWS integration IAM permissions.
308+
#
309+
# @see #get_aws_integration_iam_permissions_with_http_info
310+
def get_aws_integration_iam_permissions(opts = {})
311+
data, _status_code, _headers = get_aws_integration_iam_permissions_with_http_info(opts)
312+
data
313+
end
314+
315+
# Get AWS integration IAM permissions.
316+
#
317+
# Get all AWS IAM permissions required for the AWS integration.
318+
#
319+
# @param opts [Hash] the optional parameters
320+
# @return [Array<(AWSIntegrationIamPermissionsResponse, Integer, Hash)>] AWSIntegrationIamPermissionsResponse data, response status code and response headers
321+
def get_aws_integration_iam_permissions_with_http_info(opts = {})
322+
323+
if @api_client.config.debugging
324+
@api_client.config.logger.debug 'Calling API: AWSIntegrationAPI.get_aws_integration_iam_permissions ...'
325+
end
326+
# resource path
327+
local_var_path = '/api/v2/integration/aws/iam_permissions'
328+
329+
# query parameters
330+
query_params = opts[:query_params] || {}
331+
332+
# header parameters
333+
header_params = opts[:header_params] || {}
334+
# HTTP header 'Accept' (if needed)
335+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
336+
337+
# form parameters
338+
form_params = opts[:form_params] || {}
339+
340+
# http body (model)
341+
post_body = opts[:debug_body]
342+
343+
# return_type
344+
return_type = opts[:debug_return_type] || 'AWSIntegrationIamPermissionsResponse'
345+
346+
# auth_names
347+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
348+
349+
new_options = opts.merge(
350+
:operation => :get_aws_integration_iam_permissions,
351+
:header_params => header_params,
352+
:query_params => query_params,
353+
:form_params => form_params,
354+
:body => post_body,
355+
:auth_names => auth_names,
356+
:return_type => return_type,
357+
:api_version => "V2"
358+
)
359+
360+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
361+
if @api_client.config.debugging
362+
@api_client.config.logger.debug "API called: AWSIntegrationAPI#get_aws_integration_iam_permissions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
363+
end
364+
return data, status_code, headers
365+
end
366+
307367
# List all AWS integrations.
308368
#
309369
# @see #list_aws_accounts_with_http_info
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
=begin
2+
#Datadog API V2 Collection
3+
4+
#Collection of all Datadog Public endpoints.
5+
6+
The version of the OpenAPI document: 1.0
7+
8+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9+
10+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11+
This product includes software developed at Datadog (https://www.datadoghq.com/).
12+
Copyright 2020-Present Datadog, Inc.
13+
14+
=end
15+
16+
require 'date'
17+
require 'time'
18+
19+
module DatadogAPIClient::V2
20+
# AWS Integration IAM Permissions response body.
21+
class AWSIntegrationIamPermissionsResponse
22+
include BaseGenericModel
23+
24+
# AWS Integration IAM Permissions response data.
25+
attr_reader :data
26+
27+
attr_accessor :additional_properties
28+
29+
# Attribute mapping from ruby-style variable name to JSON key.
30+
# @!visibility private
31+
def self.attribute_map
32+
{
33+
:'data' => :'data'
34+
}
35+
end
36+
37+
# Attribute type mapping.
38+
# @!visibility private
39+
def self.openapi_types
40+
{
41+
:'data' => :'AWSIntegrationIamPermissionsResponseData'
42+
}
43+
end
44+
45+
# Initializes the object
46+
# @param attributes [Hash] Model attributes in the form of hash
47+
# @!visibility private
48+
def initialize(attributes = {})
49+
if (!attributes.is_a?(Hash))
50+
fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AWSIntegrationIamPermissionsResponse` initialize method"
51+
end
52+
53+
self.additional_properties = {}
54+
# check to see if the attribute exists and convert string to symbol for hash key
55+
attributes = attributes.each_with_object({}) { |(k, v), h|
56+
if (!self.class.attribute_map.key?(k.to_sym))
57+
self.additional_properties[k.to_sym] = v
58+
else
59+
h[k.to_sym] = v
60+
end
61+
}
62+
63+
if attributes.key?(:'data')
64+
self.data = attributes[:'data']
65+
end
66+
end
67+
68+
# Check to see if the all the properties in the model are valid
69+
# @return true if the model is valid
70+
# @!visibility private
71+
def valid?
72+
return false if @data.nil?
73+
true
74+
end
75+
76+
# Custom attribute writer method with validation
77+
# @param data [Object] Object to be assigned
78+
# @!visibility private
79+
def data=(data)
80+
if data.nil?
81+
fail ArgumentError, 'invalid value for "data", data cannot be nil.'
82+
end
83+
@data = data
84+
end
85+
86+
# Returns the object in the form of hash, with additionalProperties support.
87+
# @return [Hash] Returns the object in the form of hash
88+
# @!visibility private
89+
def to_hash
90+
hash = {}
91+
self.class.attribute_map.each_pair do |attr, param|
92+
value = self.send(attr)
93+
if value.nil?
94+
is_nullable = self.class.openapi_nullable.include?(attr)
95+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
96+
end
97+
98+
hash[param] = _to_hash(value)
99+
end
100+
self.additional_properties.each_pair do |attr, value|
101+
hash[attr] = value
102+
end
103+
hash
104+
end
105+
106+
# Checks equality by comparing each attribute.
107+
# @param o [Object] Object to be compared
108+
# @!visibility private
109+
def ==(o)
110+
return true if self.equal?(o)
111+
self.class == o.class &&
112+
data == o.data &&
113+
additional_properties == o.additional_properties
114+
end
115+
116+
# Calculates hash code according to all attributes.
117+
# @return [Integer] Hash code
118+
# @!visibility private
119+
def hash
120+
[data, additional_properties].hash
121+
end
122+
end
123+
end

0 commit comments

Comments
 (0)