awsteam

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2024 License: MPL-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account added in v0.2.0

type Account struct {
	Id   *string `json:"id"`
	Name *string `json:"name"`
}

type Approvers

type Approvers struct {
	Id         *string   `json:"id"`        // "Account ID" or "OU id"
	Name       *string   `json:"name"`      // Account Name or OU Name
	Type       *string   `json:"type"`      // "Account" or "OU"
	Approvers  []*string `json:"approvers"` // List of Group names that can approve
	GroupIds   []*string `json:"groupIds"`  // list of group ids that can approve
	TicketNo   *string   `json:"ticketNo"`
	ModifiedBy *string   `json:"modifiedBy"`
	CreatedAt  *string   `json:"createdAt"`
	UpdatedAt  *string   `json:"updatedAt"`
}

type Client

type Client struct {
	GraphEndpoint string
	GraphClient   *graphql.Client
	Config        *Config
}

func (*Client) CreateApprovers

func (client *Client) CreateApprovers(ctx context.Context, in *CreateApproversInput) (*CreateApproversOutput, error)

func (*Client) CreateEligibility added in v0.2.0

func (client *Client) CreateEligibility(ctx context.Context, in *CreateEligibilityInput) (*CreateEligibilityOutput, error)

func (*Client) CreateSettings

func (client *Client) CreateSettings(ctx context.Context, in *CreateSettingsInput) (*CreateSettingsOutput, error)

func (*Client) DeleteApprovers

func (client *Client) DeleteApprovers(ctx context.Context, in *DeleteApproversInput) (*DeleteApproversOutput, error)

func (*Client) DeleteEligibility added in v0.2.0

func (client *Client) DeleteEligibility(ctx context.Context, in *DeleteEligibilityInput) (*DeleteEligibilityOutput, error)

func (*Client) DeleteSettings

func (client *Client) DeleteSettings(ctx context.Context, in *DeleteSettingsInput) (*DeleteSettingsOutput, error)

func (*Client) GetAccounts added in v1.1.0

func (client *Client) GetAccounts(ctx context.Context, in *GetAccountsInput) (*GetAccountsOutput, error)

func (*Client) GetApprovers

func (client *Client) GetApprovers(ctx context.Context, in *GetApproversInput) (*GetApproversOutput, error)

func (*Client) GetEligibility added in v0.2.0

func (client *Client) GetEligibility(ctx context.Context, in *GetEligibilityInput) (*GetEligibilityOutput, error)

func (*Client) GetSettings

func (client *Client) GetSettings(ctx context.Context, in *GetSettingsInput) (*GetSettingsOutput, error)

func (*Client) UpdateApprovers

func (client *Client) UpdateApprovers(ctx context.Context, in *UpdateApproversInput) (*UpdateApproversOutput, error)

func (*Client) UpdateEligibility added in v0.2.0

func (client *Client) UpdateEligibility(ctx context.Context, in *UpdateEligibilityInput) (*UpdateEligibilityOutput, error)

func (*Client) UpdateSettings

func (client *Client) UpdateSettings(ctx context.Context, in *UpdateSettingsInput) (*UpdateSettingsOutput, error)

type Config

type Config struct {
	// The Oath2 client id
	ClientId string

	// The Oath2 client secret
	ClientSecret string

	// The Graph Client the SDK's API clients will use to invoke Graph requests.
	GraphClient *graphql.Client

	// The graph endpoint where aws team is deployed
	GraphEndpoint string

	// The HTTPClient the SDK's API clients will use to invoke Graph requests.
	HTTPClient *http.Client

	// The Oath2 token to be used for Bearer Authentication
	Token *Token

	// The Oath2 endpoint for getting a token
	TokenEndpoint string
}

A Config provides service configuration for service clients.

func (*Config) Build

func (config *Config) Build(ctx context.Context)

func (*Config) NewClient

func (config *Config) NewClient(ctx context.Context) *Client

type CreateApproversInput

type CreateApproversInput struct {
	Id         *string   `json:"id"`
	Name       *string   `json:"name"`
	Type       *string   `json:"type"`
	Approvers  []*string `json:"approvers"`
	GroupIds   []*string `json:"groupIds"`
	TicketNo   *string   `json:"ticketNo"`
	ModifiedBy *string   `json:"modifiedBy"`
}

type CreateApproversOutput

type CreateApproversOutput struct {
	Approvers *Approvers `json:"createApprovers"`
}

type CreateEligibilityInput added in v0.2.0

type CreateEligibilityInput struct {
	Id               *string                  `json:"id"`
	Name             *string                  `json:"name"`
	Type             *string                  `json:"type"`
	Accounts         []*EligibilityAccount    `json:"accounts"`
	OUs              []*EligibilityOU         `json:"ous"`
	Permissions      []*EligibilityPermission `json:"permissions"`
	TicketNo         *string                  `json:"ticketNo"`
	ApprovalRequired *bool                    `json:"approvalRequired"`
	Duration         *int64                   `json:"duration,string"`
	ModifiedBy       *string                  `json:"modifiedBy"`
}

type CreateEligibilityOutput added in v0.2.0

type CreateEligibilityOutput struct {
	Eligibility *Eligibility `json:"createEligibility"`
}

type CreateSettingsInput

type CreateSettingsInput struct {
	Approval                  *bool
	Comments                  *bool
	Duration                  *int64
	Expiry                    *int64
	Id                        *string
	SesNotificationsEnabled   *bool
	SnsNotificationsEnabled   *bool
	SlackNotificationsEnabled *bool
	SesSourceEmail            *string
	SesSourceArn              *string
	SlackToken                *string
	TeamAdminGroup            *string
	TeamAuditorGroup          *string
	TicketNo                  *bool
	ModifiedBy                *string
}

type CreateSettingsOutput

type CreateSettingsOutput struct {
	Settings *Settings `json:"createSettings"`
}

type DeleteApproversInput

type DeleteApproversInput struct {
	Id *string
}

type DeleteApproversOutput

type DeleteApproversOutput struct {
	Approvers *Approvers `json:"deleteApprovers"`
}

type DeleteEligibilityInput added in v0.2.0

type DeleteEligibilityInput struct {
	Id *string
}

type DeleteEligibilityOutput added in v0.2.0

type DeleteEligibilityOutput struct {
	Eligibility *Eligibility `json:"deleteEligibility"`
}

type DeleteSettingsInput

type DeleteSettingsInput struct {
	Id *string
}

type DeleteSettingsOutput

type DeleteSettingsOutput struct {
	Settings *Settings `json:"deleteSettings"`
}

type Eligibility added in v0.2.0

type Eligibility struct {
	Id               *string                  `json:"id"` // User or Group Id
	Name             *string                  `json:"name"`
	Type             *string                  `json:"type"` // "User" or "Group"
	Accounts         []*EligibilityAccount    `json:"accounts"`
	OUs              []*EligibilityOU         `json:"ous"`
	Permissions      []*EligibilityPermission `json:"permissions"`
	TicketNo         *string                  `json:"ticketNo"`
	ApprovalRequired *bool                    `json:"approvalRequired"`
	Duration         *int64                   `json:"duration,string"`
	ModifiedBy       *string                  `json:"modifiedBy"`
	CreatedAt        *string                  `json:"createdAt"`
	UpdatedAt        *string                  `json:"updatedAt"`
}

type EligibilityAccount added in v0.2.0

type EligibilityAccount struct {
	Id   *string `json:"id"`
	Name *string `json:"name"`
}

type EligibilityOU added in v0.2.0

type EligibilityOU struct {
	Id   *string `json:"id"`
	Name *string `json:"name"`
}

type EligibilityPermission added in v0.2.0

type EligibilityPermission struct {
	Id   *string `json:"id"`
	Name *string `json:"name"`
}

type GetAccountsInput added in v1.1.0

type GetAccountsInput struct{}

type GetAccountsOutput added in v1.1.0

type GetAccountsOutput struct {
	Accounts []*Account `json:"getAccounts"`
}

type GetApproversInput

type GetApproversInput struct {
	Id *string
}

type GetApproversOutput

type GetApproversOutput struct {
	Approvers *Approvers `json:"getApprovers"`
}

type GetEligibilityInput added in v0.2.0

type GetEligibilityInput struct {
	Id *string
}

type GetEligibilityOutput added in v0.2.0

type GetEligibilityOutput struct {
	Eligibility *Eligibility `json:"getEligibility"`
}

type GetSettingsInput

type GetSettingsInput struct {
	Id *string
}

type GetSettingsOutput

type GetSettingsOutput struct {
	Settings *Settings `json:"getSettings"`
}

type OU added in v0.2.0

type OU struct {
	Id       *string `json:"id"`
	Arn      *string `json:"arn"`
	Name     *string `json:"name"`
	Children []OU    `json:"children"`
}

type Permission added in v0.2.0

type Permission struct {
	Name     *string
	Arn      *string
	Duration *string
}

type Settings

type Settings struct {
	Approval                  *bool   `json:"approval"`
	Comments                  *bool   `json:"comments"`
	Duration                  *int64  `json:"duration,string"`
	Expiry                    *int64  `json:"expiry,string"`
	Id                        *string `json:"id"`
	SesNotificationsEnabled   *bool   `json:"sesNotificationsEnabled"`
	SnsNotificationsEnabled   *bool   `json:"snsNotificationsEnabled"`
	SlackNotificationsEnabled *bool   `json:"slackNotificationsEnabled"`
	SesSourceEmail            *string `json:"sesSourceEmail"`
	SesSourceArn              *string `json:"sesSourceArn"`
	SlackToken                *string `json:"slackToken"`
	TeamAdminGroup            *string `json:"teamAdminGroup"`
	TeamAuditorGroup          *string `json:"teamAuditorGroup"`
	TicketNo                  *bool   `json:"ticketNo"`
	ModifiedBy                *string `json:"modifiedBy"`
	CreatedAt                 *string `json:"createdAt"`
	UpdatedAt                 *string `json:"updatedAt"`
}

type Token

type Token struct {
	AccessToken string `json:"access_token"`
	ExpiresIn   int    `json:"expires_in"`
	TokenType   string `json:"token_type"`
}

The Oath2 token.

type UpdateApproversInput

type UpdateApproversInput struct {
	Id         *string   `json:"id"`
	Name       *string   `json:"name"`
	Type       *string   `json:"type"`
	Approvers  []*string `json:"approvers"`
	GroupIds   []*string `json:"groupIds"`
	TicketNo   *string   `json:"ticketNo"`
	ModifiedBy *string   `json:"modifiedBy"`
}

type UpdateApproversOutput

type UpdateApproversOutput struct {
	Approvers *Approvers `json:"updateApprovers"`
}

type UpdateEligibilityInput added in v0.2.0

type UpdateEligibilityInput struct {
	Id               *string                  `json:"id"`
	Name             *string                  `json:"name"`
	Type             *string                  `json:"type"`
	Accounts         []*EligibilityAccount    `json:"accounts"`
	OUs              []*EligibilityOU         `json:"ous"`
	Permissions      []*EligibilityPermission `json:"permissions"`
	TicketNo         *string                  `json:"ticketNo"`
	ApprovalRequired *bool                    `json:"approvalRequired"`
	Duration         *int64                   `json:"duration"`
	ModifiedBy       *string                  `json:"modifiedBy"`
}

type UpdateEligibilityOutput added in v0.2.0

type UpdateEligibilityOutput struct {
	Eligibility *Eligibility `json:"updateEligibility"`
}

type UpdateSettingsInput

type UpdateSettingsInput struct {
	Approval                  *bool
	Comments                  *bool
	Duration                  *int64
	Expiry                    *int64
	Id                        *string
	SesNotificationsEnabled   *bool
	SnsNotificationsEnabled   *bool
	SlackNotificationsEnabled *bool
	SesSourceEmail            *string
	SesSourceArn              *string
	SlackToken                *string
	TeamAdminGroup            *string
	TeamAuditorGroup          *string
	TicketNo                  *bool
	ModifiedBy                *string
	CreatedAt                 *string
	UpdatedAt                 *string
}

type UpdateSettingsOutput

type UpdateSettingsOutput struct {
	Settings *Settings `json:"updateSettings"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL