Skip to content

Commit 899dba6

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Regenerate client from commit de2517ad of spec repo (#3190)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent efba884 commit 899dba6

11 files changed

Lines changed: 648 additions & 4 deletions

.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:44.244057",
8-
"spec_repo_commit": "4fd1c189"
7+
"regenerated": "2025-07-02 16:34:50.109675",
8+
"spec_repo_commit": "de2517ad"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2025-07-02 12:38:44.260658",
13-
"spec_repo_commit": "4fd1c189"
12+
"regenerated": "2025-07-02 16:34:50.128559",
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.

api/datadogV2/api_aws_integration.go

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,76 @@ func (a *AWSIntegrationApi) GetAWSAccount(ctx _context.Context, awsAccountConfig
328328
return localVarReturnValue, localVarHTTPResponse, nil
329329
}
330330

331+
// GetAWSIntegrationIAMPermissions Get AWS integration IAM permissions.
332+
// Get all AWS IAM permissions required for the AWS integration.
333+
func (a *AWSIntegrationApi) GetAWSIntegrationIAMPermissions(ctx _context.Context) (AWSIntegrationIamPermissionsResponse, *_nethttp.Response, error) {
334+
var (
335+
localVarHTTPMethod = _nethttp.MethodGet
336+
localVarPostBody interface{}
337+
localVarReturnValue AWSIntegrationIamPermissionsResponse
338+
)
339+
340+
localBasePath, err := a.Client.Cfg.ServerURLWithContext(ctx, "v2.AWSIntegrationApi.GetAWSIntegrationIAMPermissions")
341+
if err != nil {
342+
return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: err.Error()}
343+
}
344+
345+
localVarPath := localBasePath + "/api/v2/integration/aws/iam_permissions"
346+
347+
localVarHeaderParams := make(map[string]string)
348+
localVarQueryParams := _neturl.Values{}
349+
localVarFormParams := _neturl.Values{}
350+
localVarHeaderParams["Accept"] = "application/json"
351+
352+
datadog.SetAuthKeys(
353+
ctx,
354+
&localVarHeaderParams,
355+
[2]string{"apiKeyAuth", "DD-API-KEY"},
356+
[2]string{"appKeyAuth", "DD-APPLICATION-KEY"},
357+
)
358+
req, err := a.Client.PrepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, nil)
359+
if err != nil {
360+
return localVarReturnValue, nil, err
361+
}
362+
363+
localVarHTTPResponse, err := a.Client.CallAPI(req)
364+
if err != nil || localVarHTTPResponse == nil {
365+
return localVarReturnValue, localVarHTTPResponse, err
366+
}
367+
368+
localVarBody, err := datadog.ReadBody(localVarHTTPResponse)
369+
if err != nil {
370+
return localVarReturnValue, localVarHTTPResponse, err
371+
}
372+
373+
if localVarHTTPResponse.StatusCode >= 300 {
374+
newErr := datadog.GenericOpenAPIError{
375+
ErrorBody: localVarBody,
376+
ErrorMessage: localVarHTTPResponse.Status,
377+
}
378+
if localVarHTTPResponse.StatusCode == 429 {
379+
var v APIErrorResponse
380+
err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
381+
if err != nil {
382+
return localVarReturnValue, localVarHTTPResponse, newErr
383+
}
384+
newErr.ErrorModel = v
385+
}
386+
return localVarReturnValue, localVarHTTPResponse, newErr
387+
}
388+
389+
err = a.Client.Decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
390+
if err != nil {
391+
newErr := datadog.GenericOpenAPIError{
392+
ErrorBody: localVarBody,
393+
ErrorMessage: err.Error(),
394+
}
395+
return localVarReturnValue, localVarHTTPResponse, newErr
396+
}
397+
398+
return localVarReturnValue, localVarHTTPResponse, nil
399+
}
400+
331401
// ListAWSAccountsOptionalParameters holds optional parameters for ListAWSAccounts.
332402
type ListAWSAccountsOptionalParameters struct {
333403
AwsAccountId *string

api/datadogV2/doc.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// - [AWSIntegrationApi.CreateNewAWSExternalID]
1919
// - [AWSIntegrationApi.DeleteAWSAccount]
2020
// - [AWSIntegrationApi.GetAWSAccount]
21+
// - [AWSIntegrationApi.GetAWSIntegrationIAMPermissions]
2122
// - [AWSIntegrationApi.ListAWSAccounts]
2223
// - [AWSIntegrationApi.ListAWSNamespaces]
2324
// - [AWSIntegrationApi.UpdateAWSAccount]
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
// This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
// Copyright 2019-Present Datadog, Inc.
4+
5+
package datadogV2
6+
7+
import (
8+
"fmt"
9+
10+
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
11+
)
12+
13+
// AWSIntegrationIamPermissionsResponse AWS Integration IAM Permissions response body.
14+
type AWSIntegrationIamPermissionsResponse struct {
15+
// AWS Integration IAM Permissions response data.
16+
Data AWSIntegrationIamPermissionsResponseData `json:"data"`
17+
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
18+
UnparsedObject map[string]interface{} `json:"-"`
19+
AdditionalProperties map[string]interface{} `json:"-"`
20+
}
21+
22+
// NewAWSIntegrationIamPermissionsResponse instantiates a new AWSIntegrationIamPermissionsResponse object.
23+
// This constructor will assign default values to properties that have it defined,
24+
// and makes sure properties required by API are set, but the set of arguments
25+
// will change when the set of required properties is changed.
26+
func NewAWSIntegrationIamPermissionsResponse(data AWSIntegrationIamPermissionsResponseData) *AWSIntegrationIamPermissionsResponse {
27+
this := AWSIntegrationIamPermissionsResponse{}
28+
this.Data = data
29+
return &this
30+
}
31+
32+
// NewAWSIntegrationIamPermissionsResponseWithDefaults instantiates a new AWSIntegrationIamPermissionsResponse object.
33+
// This constructor will only assign default values to properties that have it defined,
34+
// but it doesn't guarantee that properties required by API are set.
35+
func NewAWSIntegrationIamPermissionsResponseWithDefaults() *AWSIntegrationIamPermissionsResponse {
36+
this := AWSIntegrationIamPermissionsResponse{}
37+
return &this
38+
}
39+
40+
// GetData returns the Data field value.
41+
func (o *AWSIntegrationIamPermissionsResponse) GetData() AWSIntegrationIamPermissionsResponseData {
42+
if o == nil {
43+
var ret AWSIntegrationIamPermissionsResponseData
44+
return ret
45+
}
46+
return o.Data
47+
}
48+
49+
// GetDataOk returns a tuple with the Data field value
50+
// and a boolean to check if the value has been set.
51+
func (o *AWSIntegrationIamPermissionsResponse) GetDataOk() (*AWSIntegrationIamPermissionsResponseData, bool) {
52+
if o == nil {
53+
return nil, false
54+
}
55+
return &o.Data, true
56+
}
57+
58+
// SetData sets field value.
59+
func (o *AWSIntegrationIamPermissionsResponse) SetData(v AWSIntegrationIamPermissionsResponseData) {
60+
o.Data = v
61+
}
62+
63+
// MarshalJSON serializes the struct using spec logic.
64+
func (o AWSIntegrationIamPermissionsResponse) MarshalJSON() ([]byte, error) {
65+
toSerialize := map[string]interface{}{}
66+
if o.UnparsedObject != nil {
67+
return datadog.Marshal(o.UnparsedObject)
68+
}
69+
toSerialize["data"] = o.Data
70+
71+
for key, value := range o.AdditionalProperties {
72+
toSerialize[key] = value
73+
}
74+
return datadog.Marshal(toSerialize)
75+
}
76+
77+
// UnmarshalJSON deserializes the given payload.
78+
func (o *AWSIntegrationIamPermissionsResponse) UnmarshalJSON(bytes []byte) (err error) {
79+
all := struct {
80+
Data *AWSIntegrationIamPermissionsResponseData `json:"data"`
81+
}{}
82+
if err = datadog.Unmarshal(bytes, &all); err != nil {
83+
return datadog.Unmarshal(bytes, &o.UnparsedObject)
84+
}
85+
if all.Data == nil {
86+
return fmt.Errorf("required field data missing")
87+
}
88+
additionalProperties := make(map[string]interface{})
89+
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
90+
datadog.DeleteKeys(additionalProperties, &[]string{"data"})
91+
} else {
92+
return err
93+
}
94+
95+
hasInvalidField := false
96+
if all.Data.UnparsedObject != nil && o.UnparsedObject == nil {
97+
hasInvalidField = true
98+
}
99+
o.Data = *all.Data
100+
101+
if len(additionalProperties) > 0 {
102+
o.AdditionalProperties = additionalProperties
103+
}
104+
105+
if hasInvalidField {
106+
return datadog.Unmarshal(bytes, &o.UnparsedObject)
107+
}
108+
109+
return nil
110+
}
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
// This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
// Copyright 2019-Present Datadog, Inc.
4+
5+
package datadogV2
6+
7+
import (
8+
"fmt"
9+
10+
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
11+
)
12+
13+
// AWSIntegrationIamPermissionsResponseAttributes AWS Integration IAM Permissions response attributes.
14+
type AWSIntegrationIamPermissionsResponseAttributes struct {
15+
// List of AWS IAM permissions required for the integration.
16+
Permissions []string `json:"permissions"`
17+
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
18+
UnparsedObject map[string]interface{} `json:"-"`
19+
AdditionalProperties map[string]interface{} `json:"-"`
20+
}
21+
22+
// NewAWSIntegrationIamPermissionsResponseAttributes instantiates a new AWSIntegrationIamPermissionsResponseAttributes object.
23+
// This constructor will assign default values to properties that have it defined,
24+
// and makes sure properties required by API are set, but the set of arguments
25+
// will change when the set of required properties is changed.
26+
func NewAWSIntegrationIamPermissionsResponseAttributes(permissions []string) *AWSIntegrationIamPermissionsResponseAttributes {
27+
this := AWSIntegrationIamPermissionsResponseAttributes{}
28+
this.Permissions = permissions
29+
return &this
30+
}
31+
32+
// NewAWSIntegrationIamPermissionsResponseAttributesWithDefaults instantiates a new AWSIntegrationIamPermissionsResponseAttributes object.
33+
// This constructor will only assign default values to properties that have it defined,
34+
// but it doesn't guarantee that properties required by API are set.
35+
func NewAWSIntegrationIamPermissionsResponseAttributesWithDefaults() *AWSIntegrationIamPermissionsResponseAttributes {
36+
this := AWSIntegrationIamPermissionsResponseAttributes{}
37+
return &this
38+
}
39+
40+
// GetPermissions returns the Permissions field value.
41+
func (o *AWSIntegrationIamPermissionsResponseAttributes) GetPermissions() []string {
42+
if o == nil {
43+
var ret []string
44+
return ret
45+
}
46+
return o.Permissions
47+
}
48+
49+
// GetPermissionsOk returns a tuple with the Permissions field value
50+
// and a boolean to check if the value has been set.
51+
func (o *AWSIntegrationIamPermissionsResponseAttributes) GetPermissionsOk() (*[]string, bool) {
52+
if o == nil {
53+
return nil, false
54+
}
55+
return &o.Permissions, true
56+
}
57+
58+
// SetPermissions sets field value.
59+
func (o *AWSIntegrationIamPermissionsResponseAttributes) SetPermissions(v []string) {
60+
o.Permissions = v
61+
}
62+
63+
// MarshalJSON serializes the struct using spec logic.
64+
func (o AWSIntegrationIamPermissionsResponseAttributes) MarshalJSON() ([]byte, error) {
65+
toSerialize := map[string]interface{}{}
66+
if o.UnparsedObject != nil {
67+
return datadog.Marshal(o.UnparsedObject)
68+
}
69+
toSerialize["permissions"] = o.Permissions
70+
71+
for key, value := range o.AdditionalProperties {
72+
toSerialize[key] = value
73+
}
74+
return datadog.Marshal(toSerialize)
75+
}
76+
77+
// UnmarshalJSON deserializes the given payload.
78+
func (o *AWSIntegrationIamPermissionsResponseAttributes) UnmarshalJSON(bytes []byte) (err error) {
79+
all := struct {
80+
Permissions *[]string `json:"permissions"`
81+
}{}
82+
if err = datadog.Unmarshal(bytes, &all); err != nil {
83+
return datadog.Unmarshal(bytes, &o.UnparsedObject)
84+
}
85+
if all.Permissions == nil {
86+
return fmt.Errorf("required field permissions missing")
87+
}
88+
additionalProperties := make(map[string]interface{})
89+
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
90+
datadog.DeleteKeys(additionalProperties, &[]string{"permissions"})
91+
} else {
92+
return err
93+
}
94+
o.Permissions = *all.Permissions
95+
96+
if len(additionalProperties) > 0 {
97+
o.AdditionalProperties = additionalProperties
98+
}
99+
100+
return nil
101+
}

0 commit comments

Comments
 (0)