fis

package module
v1.6.2 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2021 License: Apache-2.0 Imports: 31 Imported by: 14

Documentation

Overview

Package fis provides the API client, operations, and parameter types for AWS Fault Injection Simulator.

AWS Fault Injection Simulator is a managed service that enables you to perform fault injection experiments on your AWS workloads. For more information, see the AWS Fault Injection Simulator User Guide (https://docs.aws.amazon.com/fis/latest/userguide/).

Index

Constants

View Source
const ServiceAPIVersion = "2020-12-01"
View Source
const ServiceID = "fis"

Variables

This section is empty.

Functions

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

func WithAPIOptions

func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options)

WithAPIOptions returns a functional option for setting the Client's APIOptions option.

func WithEndpointResolver

func WithEndpointResolver(v EndpointResolver) func(*Options)

WithEndpointResolver returns a functional option for setting the Client's EndpointResolver option.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client provides the API client to make operations call for AWS Fault Injection Simulator.

func New

func New(options Options, optFns ...func(*Options)) *Client

New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

func NewFromConfig

func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

NewFromConfig returns a new client from the provided config.

func (*Client) CreateExperimentTemplate

func (c *Client) CreateExperimentTemplate(ctx context.Context, params *CreateExperimentTemplateInput, optFns ...func(*Options)) (*CreateExperimentTemplateOutput, error)

Creates an experiment template. To create a template, specify the following information:

* Targets: A target can be a specific resource in your AWS environment, or one or more resources that match criteria that you specify, for example, resources that have specific tags.

* Actions: The actions to carry out on the target. You can specify multiple actions, the duration of each action, and when to start each action during an experiment.

* Stop conditions: If a stop condition is triggered while an experiment is running, the experiment is automatically stopped. You can define a stop condition as a CloudWatch alarm.

For more information, see the AWS Fault Injection Simulator User Guide (https://docs.aws.amazon.com/fis/latest/userguide/).

func (*Client) DeleteExperimentTemplate

func (c *Client) DeleteExperimentTemplate(ctx context.Context, params *DeleteExperimentTemplateInput, optFns ...func(*Options)) (*DeleteExperimentTemplateOutput, error)

Deletes the specified experiment template.

func (*Client) GetAction

func (c *Client) GetAction(ctx context.Context, params *GetActionInput, optFns ...func(*Options)) (*GetActionOutput, error)

Gets information about the specified AWS FIS action.

func (*Client) GetExperiment

func (c *Client) GetExperiment(ctx context.Context, params *GetExperimentInput, optFns ...func(*Options)) (*GetExperimentOutput, error)

Gets information about the specified experiment.

func (*Client) GetExperimentTemplate

func (c *Client) GetExperimentTemplate(ctx context.Context, params *GetExperimentTemplateInput, optFns ...func(*Options)) (*GetExperimentTemplateOutput, error)

Gets information about the specified experiment template.

func (*Client) ListActions

func (c *Client) ListActions(ctx context.Context, params *ListActionsInput, optFns ...func(*Options)) (*ListActionsOutput, error)

Lists the available AWS FIS actions.

func (*Client) ListExperimentTemplates

func (c *Client) ListExperimentTemplates(ctx context.Context, params *ListExperimentTemplatesInput, optFns ...func(*Options)) (*ListExperimentTemplatesOutput, error)

Lists your experiment templates.

func (*Client) ListExperiments

func (c *Client) ListExperiments(ctx context.Context, params *ListExperimentsInput, optFns ...func(*Options)) (*ListExperimentsOutput, error)

Lists your experiments.

func (*Client) ListTagsForResource

func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForResourceInput, optFns ...func(*Options)) (*ListTagsForResourceOutput, error)

Lists the tags for the specified resource.

func (*Client) StartExperiment

func (c *Client) StartExperiment(ctx context.Context, params *StartExperimentInput, optFns ...func(*Options)) (*StartExperimentOutput, error)

Starts running an experiment from the specified experiment template.

func (*Client) StopExperiment

func (c *Client) StopExperiment(ctx context.Context, params *StopExperimentInput, optFns ...func(*Options)) (*StopExperimentOutput, error)

Stops the specified experiment.

func (*Client) TagResource

func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error)

Applies the specified tags to the specified resource.

func (*Client) UntagResource

func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error)

Removes the specified tags from the specified resource.

func (*Client) UpdateExperimentTemplate

func (c *Client) UpdateExperimentTemplate(ctx context.Context, params *UpdateExperimentTemplateInput, optFns ...func(*Options)) (*UpdateExperimentTemplateOutput, error)

Updates the specified experiment template.

type CreateExperimentTemplateInput

type CreateExperimentTemplateInput struct {

	// The actions for the experiment.
	//
	// This member is required.
	Actions map[string]types.CreateExperimentTemplateActionInput

	// Unique, case-sensitive identifier that you provide to ensure the idempotency of
	// the request.
	//
	// This member is required.
	ClientToken *string

	// A description for the experiment template. Can contain up to 64 letters (A-Z and
	// a-z).
	//
	// This member is required.
	Description *string

	// The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service
	// permission to perform service actions on your behalf.
	//
	// This member is required.
	RoleArn *string

	// The stop conditions.
	//
	// This member is required.
	StopConditions []types.CreateExperimentTemplateStopConditionInput

	// The tags to apply to the experiment template.
	Tags map[string]string

	// The targets for the experiment.
	Targets map[string]types.CreateExperimentTemplateTargetInput
	// contains filtered or unexported fields
}

type CreateExperimentTemplateOutput

type CreateExperimentTemplateOutput struct {

	// Information about the experiment template.
	ExperimentTemplate *types.ExperimentTemplate

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type DeleteExperimentTemplateInput

type DeleteExperimentTemplateInput struct {

	// The ID of the experiment template.
	//
	// This member is required.
	Id *string
	// contains filtered or unexported fields
}

type DeleteExperimentTemplateOutput

type DeleteExperimentTemplateOutput struct {

	// Information about the experiment template.
	ExperimentTemplate *types.ExperimentTemplate

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type EndpointResolver

type EndpointResolver interface {
	ResolveEndpoint(region string, options EndpointResolverOptions) (aws.Endpoint, error)
}

EndpointResolver interface for resolving service endpoints.

func EndpointResolverFromURL

func EndpointResolverFromURL(url string, optFns ...func(*aws.Endpoint)) EndpointResolver

EndpointResolverFromURL returns an EndpointResolver configured using the provided endpoint url. By default, the resolved endpoint resolver uses the client region as signing region, and the endpoint source is set to EndpointSourceCustom.You can provide functional options to configure endpoint values for the resolved endpoint.

type EndpointResolverFunc

type EndpointResolverFunc func(region string, options EndpointResolverOptions) (aws.Endpoint, error)

EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

func (EndpointResolverFunc) ResolveEndpoint

func (fn EndpointResolverFunc) ResolveEndpoint(region string, options EndpointResolverOptions) (endpoint aws.Endpoint, err error)

type EndpointResolverOptions

type EndpointResolverOptions = internalendpoints.Options

EndpointResolverOptions is the service endpoint resolver options

type GetActionInput

type GetActionInput struct {

	// The ID of the action.
	//
	// This member is required.
	Id *string
	// contains filtered or unexported fields
}

type GetActionOutput

type GetActionOutput struct {

	// Information about the action.
	Action *types.Action

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type GetExperimentInput

type GetExperimentInput struct {

	// The ID of the experiment.
	//
	// This member is required.
	Id *string
	// contains filtered or unexported fields
}

type GetExperimentOutput

type GetExperimentOutput struct {

	// Information about the experiment.
	Experiment *types.Experiment

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type GetExperimentTemplateInput

type GetExperimentTemplateInput struct {

	// The ID of the experiment template.
	//
	// This member is required.
	Id *string
	// contains filtered or unexported fields
}

type GetExperimentTemplateOutput

type GetExperimentTemplateOutput struct {

	// Information about the experiment template.
	ExperimentTemplate *types.ExperimentTemplate

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type HTTPSignerV4

type HTTPSignerV4 interface {
	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error
}

type IdempotencyTokenProvider

type IdempotencyTokenProvider interface {
	GetIdempotencyToken() (string, error)
}

IdempotencyTokenProvider interface for providing idempotency token

type ListActionsAPIClient

type ListActionsAPIClient interface {
	ListActions(context.Context, *ListActionsInput, ...func(*Options)) (*ListActionsOutput, error)
}

ListActionsAPIClient is a client that implements the ListActions operation.

type ListActionsInput

type ListActionsInput struct {

	// The maximum number of results to return with a single call. To retrieve the
	// remaining results, make another call with the returned nextToken value.
	MaxResults int32

	// The token for the next page of results.
	NextToken *string
	// contains filtered or unexported fields
}

type ListActionsOutput

type ListActionsOutput struct {

	// The actions.
	Actions []types.ActionSummary

	// The token to use to retrieve the next page of results. This value is null when
	// there are no more results to return.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type ListActionsPaginator

type ListActionsPaginator struct {
	// contains filtered or unexported fields
}

ListActionsPaginator is a paginator for ListActions

func NewListActionsPaginator

func NewListActionsPaginator(client ListActionsAPIClient, params *ListActionsInput, optFns ...func(*ListActionsPaginatorOptions)) *ListActionsPaginator

NewListActionsPaginator returns a new ListActionsPaginator

func (*ListActionsPaginator) HasMorePages

func (p *ListActionsPaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available

func (*ListActionsPaginator) NextPage

func (p *ListActionsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListActionsOutput, error)

NextPage retrieves the next ListActions page.

type ListActionsPaginatorOptions

type ListActionsPaginatorOptions struct {
	// The maximum number of results to return with a single call. To retrieve the
	// remaining results, make another call with the returned nextToken value.
	Limit int32

	// Set to true if pagination should stop if the service returns a pagination token
	// that matches the most recent token provided to the service.
	StopOnDuplicateToken bool
}

ListActionsPaginatorOptions is the paginator options for ListActions

type ListExperimentTemplatesAPIClient

type ListExperimentTemplatesAPIClient interface {
	ListExperimentTemplates(context.Context, *ListExperimentTemplatesInput, ...func(*Options)) (*ListExperimentTemplatesOutput, error)
}

ListExperimentTemplatesAPIClient is a client that implements the ListExperimentTemplates operation.

type ListExperimentTemplatesInput

type ListExperimentTemplatesInput struct {

	// The maximum number of results to return with a single call. To retrieve the
	// remaining results, make another call with the returned nextToken value.
	MaxResults int32

	// The token for the next page of results.
	NextToken *string
	// contains filtered or unexported fields
}

type ListExperimentTemplatesOutput

type ListExperimentTemplatesOutput struct {

	// The experiment templates.
	ExperimentTemplates []types.ExperimentTemplateSummary

	// The token to use to retrieve the next page of results. This value is null when
	// there are no more results to return.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type ListExperimentTemplatesPaginator

type ListExperimentTemplatesPaginator struct {
	// contains filtered or unexported fields
}

ListExperimentTemplatesPaginator is a paginator for ListExperimentTemplates

func NewListExperimentTemplatesPaginator

NewListExperimentTemplatesPaginator returns a new ListExperimentTemplatesPaginator

func (*ListExperimentTemplatesPaginator) HasMorePages

func (p *ListExperimentTemplatesPaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available

func (*ListExperimentTemplatesPaginator) NextPage

NextPage retrieves the next ListExperimentTemplates page.

type ListExperimentTemplatesPaginatorOptions

type ListExperimentTemplatesPaginatorOptions struct {
	// The maximum number of results to return with a single call. To retrieve the
	// remaining results, make another call with the returned nextToken value.
	Limit int32

	// Set to true if pagination should stop if the service returns a pagination token
	// that matches the most recent token provided to the service.
	StopOnDuplicateToken bool
}

ListExperimentTemplatesPaginatorOptions is the paginator options for ListExperimentTemplates

type ListExperimentsAPIClient

type ListExperimentsAPIClient interface {
	ListExperiments(context.Context, *ListExperimentsInput, ...func(*Options)) (*ListExperimentsOutput, error)
}

ListExperimentsAPIClient is a client that implements the ListExperiments operation.

type ListExperimentsInput

type ListExperimentsInput struct {

	// The maximum number of results to return with a single call. To retrieve the
	// remaining results, make another call with the returned nextToken value.
	MaxResults int32

	// The token for the next page of results.
	NextToken *string
	// contains filtered or unexported fields
}

type ListExperimentsOutput

type ListExperimentsOutput struct {

	// The experiments.
	Experiments []types.ExperimentSummary

	// The token to use to retrieve the next page of results. This value is null when
	// there are no more results to return.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type ListExperimentsPaginator

type ListExperimentsPaginator struct {
	// contains filtered or unexported fields
}

ListExperimentsPaginator is a paginator for ListExperiments

func NewListExperimentsPaginator

func NewListExperimentsPaginator(client ListExperimentsAPIClient, params *ListExperimentsInput, optFns ...func(*ListExperimentsPaginatorOptions)) *ListExperimentsPaginator

NewListExperimentsPaginator returns a new ListExperimentsPaginator

func (*ListExperimentsPaginator) HasMorePages

func (p *ListExperimentsPaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available

func (*ListExperimentsPaginator) NextPage

func (p *ListExperimentsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListExperimentsOutput, error)

NextPage retrieves the next ListExperiments page.

type ListExperimentsPaginatorOptions

type ListExperimentsPaginatorOptions struct {
	// The maximum number of results to return with a single call. To retrieve the
	// remaining results, make another call with the returned nextToken value.
	Limit int32

	// Set to true if pagination should stop if the service returns a pagination token
	// that matches the most recent token provided to the service.
	StopOnDuplicateToken bool
}

ListExperimentsPaginatorOptions is the paginator options for ListExperiments

type ListTagsForResourceInput

type ListTagsForResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource.
	//
	// This member is required.
	ResourceArn *string
	// contains filtered or unexported fields
}

type ListTagsForResourceOutput

type ListTagsForResourceOutput struct {

	// The tags for the resource.
	Tags map[string]string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type Options

type Options struct {
	// Set of options to modify how an operation is invoked. These apply to all
	// operations invoked for this client. Use functional options on operation call to
	// modify this list for per operation behavior.
	APIOptions []func(*middleware.Stack) error

	// Configures the events that will be sent to the configured logger.
	ClientLogMode aws.ClientLogMode

	// The credentials object to use when signing requests.
	Credentials aws.CredentialsProvider

	// The endpoint options to be used when attempting to resolve an endpoint.
	EndpointOptions EndpointResolverOptions

	// The service endpoint resolver.
	EndpointResolver EndpointResolver

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// Provides idempotency tokens values that will be automatically populated into
	// idempotent API operations.
	IdempotencyTokenProvider IdempotencyTokenProvider

	// The logger writer interface to write logging messages to.
	Logger logging.Logger

	// The region to send requests to. (Required)
	Region string

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer.
	Retryer aws.Retryer

	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
	// implementation if nil.
	HTTPClient HTTPClient
}

func (Options) Copy

func (o Options) Copy() Options

Copy creates a clone where the APIOptions list is deep copied.

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  EndpointResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

type StartExperimentInput

type StartExperimentInput struct {

	// Unique, case-sensitive identifier that you provide to ensure the idempotency of
	// the request.
	//
	// This member is required.
	ClientToken *string

	// The ID of the experiment template.
	//
	// This member is required.
	ExperimentTemplateId *string

	// The tags to apply to the experiment.
	Tags map[string]string
	// contains filtered or unexported fields
}

type StartExperimentOutput

type StartExperimentOutput struct {

	// Information about the experiment.
	Experiment *types.Experiment

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type StopExperimentInput

type StopExperimentInput struct {

	// The ID of the experiment.
	//
	// This member is required.
	Id *string
	// contains filtered or unexported fields
}

type StopExperimentOutput

type StopExperimentOutput struct {

	// Information about the experiment.
	Experiment *types.Experiment

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type TagResourceInput

type TagResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource.
	//
	// This member is required.
	ResourceArn *string

	// The tags for the resource.
	//
	// This member is required.
	Tags map[string]string
	// contains filtered or unexported fields
}

type TagResourceOutput

type TagResourceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type UntagResourceInput

type UntagResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource.
	//
	// This member is required.
	ResourceArn *string

	// The tag keys to remove.
	TagKeys []string
	// contains filtered or unexported fields
}

type UntagResourceOutput

type UntagResourceOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type UpdateExperimentTemplateInput

type UpdateExperimentTemplateInput struct {

	// The ID of the experiment template.
	//
	// This member is required.
	Id *string

	// The actions for the experiment.
	Actions map[string]types.UpdateExperimentTemplateActionInputItem

	// A description for the template.
	Description *string

	// The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service
	// permission to perform service actions on your behalf.
	RoleArn *string

	// The stop conditions for the experiment.
	StopConditions []types.UpdateExperimentTemplateStopConditionInput

	// The targets for the experiment.
	Targets map[string]types.UpdateExperimentTemplateTargetInput
	// contains filtered or unexported fields
}

type UpdateExperimentTemplateOutput

type UpdateExperimentTemplateOutput struct {

	// Information about the experiment template.
	ExperimentTemplate *types.ExperimentTemplate

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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