Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge membership from mcnulty #2711

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .apigentools-info
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
"spec_versions": {
"v1": {
"apigentools_version": "1.6.6",
"regenerated": "2024-09-30 14:37:39.238144",
"spec_repo_commit": "60bc9127"
"regenerated": "2024-09-30 16:06:34.727569",
"spec_repo_commit": "3c5d6057"
},
"v2": {
"apigentools_version": "1.6.6",
"regenerated": "2024-09-30 14:37:39.252667",
"spec_repo_commit": "60bc9127"
"regenerated": "2024-09-30 16:06:34.742242",
"spec_repo_commit": "3c5d6057"
}
}
}
131 changes: 97 additions & 34 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -950,6 +950,64 @@ components:
$ref: '#/components/schemas/AWSRelatedAccount'
type: array
type: object
AbbreviatedTeam:
description: The definition of `AbbreviatedTeam` object.
properties:
attributes:
$ref: '#/components/schemas/AbbreviatedTeamAttributes'
id:
description: ID of the team
type: string
type:
$ref: '#/components/schemas/AbbreviatedTeamType'
required:
- attributes
- type
type: object
AbbreviatedTeamAttributes:
description: The definition of `AbbreviatedTeamAttributes` object.
properties:
avatar:
description: Unicode representation of the avatar for the team, limited
to a single grapheme
nullable: true
type: string
banner:
description: Banner selection for the team
format: int64
type: integer
handle:
description: The team's identifier
example: ''
type: string
handles:
description: The `AbbreviatedTeamAttributes` `handles`.
type: string
is_open_membership:
description: The `AbbreviatedTeamAttributes` `is_open_membership`.
readOnly: true
type: boolean
name:
description: The name of the team
example: ''
type: string
summary:
description: A brief summary of the team
readOnly: true
type: string
required:
- handle
- name
type: object
AbbreviatedTeamType:
default: team
description: The definition of `AbbreviatedTeamType` object.
enum:
- team
example: team
type: string
x-enum-varnames:
- TEAM
ActiveBillingDimensionsAttributes:
description: List of active billing dimensions.
properties:
Expand Down Expand Up @@ -17812,27 +17870,6 @@ components:
- id
- type
type: object
RelationshipToUserTeamTeam:
description: Relationship between team membership and team
properties:
data:
$ref: '#/components/schemas/RelationshipToUserTeamTeamData'
required:
- data
type: object
RelationshipToUserTeamTeamData:
description: The team associated with the membership
properties:
id:
description: The ID of the team associated with the membership
example: d7e15d9d-d346-43da-81d8-3d9e71d9a5e9
type: string
type:
$ref: '#/components/schemas/UserTeamTeamType'
required:
- id
- type
type: object
RelationshipToUserTeamUser:
description: Relationship between team membership and user
properties:
Expand Down Expand Up @@ -24823,8 +24860,8 @@ components:
UserTeamIncluded:
description: Included resources related to the team membership
oneOf:
- $ref: '#/components/schemas/User'
- $ref: '#/components/schemas/Team'
- $ref: '#/components/schemas/AbbreviatedTeam'
- $ref: '#/components/schemas/UserTeamUser'
UserTeamPermission:
description: A user's permissions for a given team
properties:
Expand Down Expand Up @@ -24861,8 +24898,6 @@ components:
UserTeamRelationships:
description: Relationship between membership and a user
properties:
team:
$ref: '#/components/schemas/RelationshipToUserTeamTeam'
user:
$ref: '#/components/schemas/RelationshipToUserTeamUser'
type: object
Expand Down Expand Up @@ -24893,15 +24928,6 @@ components:
type: string
x-enum-varnames:
- ADMIN
UserTeamTeamType:
default: team
description: User team team type
enum:
- team
example: team
type: string
x-enum-varnames:
- TEAM
UserTeamType:
default: team_memberships
description: Team membership type
Expand Down Expand Up @@ -24929,6 +24955,42 @@ components:
required:
- data
type: object
UserTeamUser:
description: The definition of `UserTeamUser` object.
properties:
attributes:
$ref: '#/components/schemas/UserTeamUserAttributes'
id:
description: The `UserTeamUser` ID.
type: string
type:
$ref: '#/components/schemas/UserTeamUserType'
required:
- type
type: object
UserTeamUserAttributes:
description: The definition of `UserTeamUserAttributes` object.
properties:
disabled:
description: The `UserTeamUserAttributes` `disabled`.
type: boolean
email:
description: The `UserTeamUserAttributes` `email`.
type: string
handle:
description: The `UserTeamUserAttributes` `handle`.
type: string
icon:
description: The `UserTeamUserAttributes` `icon`.
type: string
name:
description: The `UserTeamUserAttributes` `name`.
nullable: true
type: string
service_account:
description: The `UserTeamUserAttributes` `service_account`.
type: boolean
type: object
UserTeamUserType:
default: users
description: User team user type
Expand Down Expand Up @@ -38900,6 +38962,7 @@ paths:
name: filter[keyword]
required: false
schema:
description: Search query, can be user email or name.
type: string
responses:
'200':
Expand Down
183 changes: 183 additions & 0 deletions api/datadogV2/model_abbreviated_team.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
// This product includes software developed at Datadog (https://www.datadoghq.com/).
// Copyright 2019-Present Datadog, Inc.

package datadogV2

import (
"fmt"

"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
)

// AbbreviatedTeam The definition of `AbbreviatedTeam` object.
type AbbreviatedTeam struct {
// The definition of `AbbreviatedTeamAttributes` object.
Attributes AbbreviatedTeamAttributes `json:"attributes"`
// ID of the team
Id *string `json:"id,omitempty"`
// The definition of `AbbreviatedTeamType` object.
Type AbbreviatedTeamType `json:"type"`
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
UnparsedObject map[string]interface{} `json:"-"`
AdditionalProperties map[string]interface{} `json:"-"`
}

// NewAbbreviatedTeam instantiates a new AbbreviatedTeam object.
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed.
func NewAbbreviatedTeam(attributes AbbreviatedTeamAttributes, typeVar AbbreviatedTeamType) *AbbreviatedTeam {
this := AbbreviatedTeam{}
this.Attributes = attributes
this.Type = typeVar
return &this
}

// NewAbbreviatedTeamWithDefaults instantiates a new AbbreviatedTeam object.
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set.
func NewAbbreviatedTeamWithDefaults() *AbbreviatedTeam {
this := AbbreviatedTeam{}
var typeVar AbbreviatedTeamType = ABBREVIATEDTEAMTYPE_TEAM
this.Type = typeVar
return &this
}

// GetAttributes returns the Attributes field value.
func (o *AbbreviatedTeam) GetAttributes() AbbreviatedTeamAttributes {
if o == nil {
var ret AbbreviatedTeamAttributes
return ret
}
return o.Attributes
}

// GetAttributesOk returns a tuple with the Attributes field value
// and a boolean to check if the value has been set.
func (o *AbbreviatedTeam) GetAttributesOk() (*AbbreviatedTeamAttributes, bool) {
if o == nil {
return nil, false
}
return &o.Attributes, true
}

// SetAttributes sets field value.
func (o *AbbreviatedTeam) SetAttributes(v AbbreviatedTeamAttributes) {
o.Attributes = v
}

// GetId returns the Id field value if set, zero value otherwise.
func (o *AbbreviatedTeam) GetId() string {
if o == nil || o.Id == nil {
var ret string
return ret
}
return *o.Id
}

// GetIdOk returns a tuple with the Id field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AbbreviatedTeam) GetIdOk() (*string, bool) {
if o == nil || o.Id == nil {
return nil, false
}
return o.Id, true
}

// HasId returns a boolean if a field has been set.
func (o *AbbreviatedTeam) HasId() bool {
return o != nil && o.Id != nil
}

// SetId gets a reference to the given string and assigns it to the Id field.
func (o *AbbreviatedTeam) SetId(v string) {
o.Id = &v
}

// GetType returns the Type field value.
func (o *AbbreviatedTeam) GetType() AbbreviatedTeamType {
if o == nil {
var ret AbbreviatedTeamType
return ret
}
return o.Type
}

// GetTypeOk returns a tuple with the Type field value
// and a boolean to check if the value has been set.
func (o *AbbreviatedTeam) GetTypeOk() (*AbbreviatedTeamType, bool) {
if o == nil {
return nil, false
}
return &o.Type, true
}

// SetType sets field value.
func (o *AbbreviatedTeam) SetType(v AbbreviatedTeamType) {
o.Type = v
}

// MarshalJSON serializes the struct using spec logic.
func (o AbbreviatedTeam) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{}
if o.UnparsedObject != nil {
return datadog.Marshal(o.UnparsedObject)
}
toSerialize["attributes"] = o.Attributes
if o.Id != nil {
toSerialize["id"] = o.Id
}
toSerialize["type"] = o.Type

for key, value := range o.AdditionalProperties {
toSerialize[key] = value
}
return datadog.Marshal(toSerialize)
}

// UnmarshalJSON deserializes the given payload.
func (o *AbbreviatedTeam) UnmarshalJSON(bytes []byte) (err error) {
all := struct {
Attributes *AbbreviatedTeamAttributes `json:"attributes"`
Id *string `json:"id,omitempty"`
Type *AbbreviatedTeamType `json:"type"`
}{}
if err = datadog.Unmarshal(bytes, &all); err != nil {
return datadog.Unmarshal(bytes, &o.UnparsedObject)
}
if all.Attributes == nil {
return fmt.Errorf("required field attributes missing")
}
if all.Type == nil {
return fmt.Errorf("required field type missing")
}
additionalProperties := make(map[string]interface{})
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
datadog.DeleteKeys(additionalProperties, &[]string{"attributes", "id", "type"})
} else {
return err
}

hasInvalidField := false
if all.Attributes.UnparsedObject != nil && o.UnparsedObject == nil {
hasInvalidField = true
}
o.Attributes = *all.Attributes
o.Id = all.Id
if !all.Type.IsValid() {
hasInvalidField = true
} else {
o.Type = *all.Type
}

if len(additionalProperties) > 0 {
o.AdditionalProperties = additionalProperties
}

if hasInvalidField {
return datadog.Unmarshal(bytes, &o.UnparsedObject)
}

return nil
}
Loading
Loading