synthetics

package
v0.24.0 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2020 License: Apache-2.0 Imports: 8 Imported by: 5

Documentation

Overview

Package synthetics provides the client and types for making API requests to Synthetics.

You can use Amazon CloudWatch Synthetics to continually monitor your services. You can create and manage canaries, which are modular, lightweight scripts that monitor your endpoints and APIs from the outside-in. You can set up your canaries to run 24 hours a day, once per minute. The canaries help you check the availability and latency of your web services and troubleshoot anomalies by investigating load time data, screenshots of the UI, logs, and metrics. The canaries seamlessly integrate with CloudWatch ServiceLens to help you trace the causes of impacted nodes in your applications. For more information, see Using ServiceLens to Monitor the Health of Your Applications (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ServiceLens.html) in the Amazon CloudWatch User Guide.

Before you create and manage canaries, be aware of the security considerations. For more information, see Security Considerations for Synthetics Canaries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html).

See https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11 for more information on this service.

See synthetics package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/synthetics/

Using the Client

To use Synthetics with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the Synthetics client for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/synthetics/#New

Index

Constants

View Source
const (
	ServiceName = "Synthetics" // Service's name
	ServiceID   = "Synthetics" // Service's identifier
	EndpointsID = "synthetics" // Service's Endpoint identifier
)
View Source
const (

	// ErrCodeConflictException for service response error code
	// "ConflictException".
	//
	// A conflicting operation is already in progress.
	ErrCodeConflictException = "ConflictException"

	// ErrCodeInternalServerException for service response error code
	// "InternalServerException".
	//
	// An unknown internal error occurred.
	ErrCodeInternalServerException = "InternalServerException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// One of the specified resources was not found.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"

	// ErrCodeValidationException for service response error code
	// "ValidationException".
	//
	// A parameter could not be validated.
	ErrCodeValidationException = "ValidationException"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Canary

type Canary struct {

	// The location in Amazon S3 where Synthetics stores artifacts from the runs
	// of this canary. Artifacts include the log file, screenshots, and HAR files.
	ArtifactS3Location *string `min:"1" type:"string"`

	// This structure contains information about the canary's Lambda handler and
	// where its code is stored by CloudWatch Synthetics.
	Code *CanaryCodeOutput `type:"structure"`

	// The ARN of the Lambda function that is used as your canary's engine. For
	// more information about Lambda ARN format, see Resources and Conditions for
	// Lambda Actions (https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html).
	EngineArn *string `type:"string"`

	// The ARN of the IAM role used to run the canary. This role must include lambda.amazonaws.com
	// as a principal in the trust policy.
	ExecutionRoleArn *string `type:"string"`

	// The number of days to retain data about failed runs of this canary.
	FailureRetentionPeriodInDays *int64 `min:"1" type:"integer"`

	// The unique ID of this canary.
	Id *string `type:"string"`

	// The name of the canary.
	Name *string `min:"1" type:"string"`

	// A structure that contains information for a canary run.
	RunConfig *CanaryRunConfigOutput `type:"structure"`

	// Specifies the runtime version to use for the canary. Currently, the only
	// valid value is syn-1.0. For more information about runtime versions, see
	// Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html).
	RuntimeVersion *string `min:"1" type:"string"`

	// A structure that contains information about how often the canary is to run,
	// and when these runs are to stop.
	Schedule *CanaryScheduleOutput `type:"structure"`

	// A structure that contains information about the canary's status.
	Status *CanaryStatus `type:"structure"`

	// The number of days to retain data about successful runs of this canary.
	SuccessRetentionPeriodInDays *int64 `min:"1" type:"integer"`

	// The list of key-value pairs that are associated with the canary.
	Tags map[string]string `min:"1" type:"map"`

	// A structure that contains information about when the canary was created,
	// modified, and most recently run.
	Timeline *CanaryTimeline `type:"structure"`

	// If this canary is to test an endpoint in a VPC, this structure contains information
	// about the subnets and security groups of the VPC endpoint. For more information,
	// see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html).
	VpcConfig *VpcConfigOutput `type:"structure"`
	// contains filtered or unexported fields
}

This structure contains all information about one canary in your account.

func (Canary) MarshalFields

func (s Canary) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (Canary) String

func (s Canary) String() string

String returns the string representation

type CanaryCodeInput

type CanaryCodeInput struct {

	// The entry point to use for the source code when running the canary. This
	// value must end with the string .handler.
	//
	// Handler is a required field
	Handler *string `min:"1" type:"string" required:"true"`

	// If your canary script is located in S3, specify the full bucket name here.
	// The bucket must already exist. Specify the full bucket name, including s3://
	// as the start of the bucket name.
	S3Bucket *string `min:"1" type:"string"`

	// The S3 key of your script. For more information, see Working with Amazon
	// S3 Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html).
	S3Key *string `min:"1" type:"string"`

	// The S3 version ID of your script.
	S3Version *string `min:"1" type:"string"`

	// If you input your canary script directly into the canary instead of referring
	// to an S3 location, the value of this parameter is the .zip file that contains
	// the script. It can be up to 5 MB.
	//
	// ZipFile is automatically base64 encoded/decoded by the SDK.
	ZipFile []byte `min:"1" type:"blob"`
	// contains filtered or unexported fields
}

Use this structure to input your script code for the canary. This structure contains the Lambda handler with the location where the canary should start running the script. If the script is stored in an S3 bucket, the bucket name, key, and version are also included. If the script was passed into the canary directly, the script code is contained in the value of Zipfile.

func (CanaryCodeInput) MarshalFields

func (s CanaryCodeInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryCodeInput) String

func (s CanaryCodeInput) String() string

String returns the string representation

func (*CanaryCodeInput) Validate

func (s *CanaryCodeInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CanaryCodeOutput

type CanaryCodeOutput struct {

	// The entry point to use for the source code when running the canary.
	Handler *string `min:"1" type:"string"`

	// The ARN of the Lambda layer where Synthetics stores the canary script code.
	SourceLocationArn *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

This structure contains information about the canary's Lambda handler and where its code is stored by CloudWatch Synthetics.

func (CanaryCodeOutput) MarshalFields

func (s CanaryCodeOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryCodeOutput) String

func (s CanaryCodeOutput) String() string

String returns the string representation

type CanaryLastRun

type CanaryLastRun struct {

	// The name of the canary.
	CanaryName *string `min:"1" type:"string"`

	// The results from this canary's most recent run.
	LastRun *CanaryRun `type:"structure"`
	// contains filtered or unexported fields
}

This structure contains information about the most recent run of a single canary.

func (CanaryLastRun) MarshalFields

func (s CanaryLastRun) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryLastRun) String

func (s CanaryLastRun) String() string

String returns the string representation

type CanaryRun

type CanaryRun struct {

	// The location where the canary stored artifacts from the run. Artifacts include
	// the log file, screenshots, and HAR files.
	ArtifactS3Location *string `min:"1" type:"string"`

	// The name of the canary.
	Name *string `min:"1" type:"string"`

	// The status of this run.
	Status *CanaryRunStatus `type:"structure"`

	// A structure that contains the start and end times of this run.
	Timeline *CanaryRunTimeline `type:"structure"`
	// contains filtered or unexported fields
}

This structure contains the details about one run of one canary.

func (CanaryRun) MarshalFields

func (s CanaryRun) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryRun) String

func (s CanaryRun) String() string

String returns the string representation

type CanaryRunConfigInput

type CanaryRunConfigInput struct {

	// The maximum amount of memory available to the canary while it is running,
	// in MB. The value you specify must be a multiple of 64.
	MemoryInMB *int64 `min:"960" type:"integer"`

	// How long the canary is allowed to run before it must stop. If you omit this
	// field, the frequency of the canary is used as this value, up to a maximum
	// of 14 minutes.
	//
	// TimeoutInSeconds is a required field
	TimeoutInSeconds *int64 `min:"60" type:"integer" required:"true"`
	// contains filtered or unexported fields
}

A structure that contains input information for a canary run.

func (CanaryRunConfigInput) MarshalFields

func (s CanaryRunConfigInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryRunConfigInput) String

func (s CanaryRunConfigInput) String() string

String returns the string representation

func (*CanaryRunConfigInput) Validate

func (s *CanaryRunConfigInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CanaryRunConfigOutput

type CanaryRunConfigOutput struct {

	// The maximum amount of memory available to the canary while it is running,
	// in MB. The value you must be a multiple of 64.
	MemoryInMB *int64 `min:"960" type:"integer"`

	// How long the canary is allowed to run before it must stop.
	TimeoutInSeconds *int64 `min:"60" type:"integer"`
	// contains filtered or unexported fields
}

A structure that contains information for a canary run.

func (CanaryRunConfigOutput) MarshalFields

func (s CanaryRunConfigOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryRunConfigOutput) String

func (s CanaryRunConfigOutput) String() string

String returns the string representation

type CanaryRunState

type CanaryRunState string
const (
	CanaryRunStateRunning CanaryRunState = "RUNNING"
	CanaryRunStatePassed  CanaryRunState = "PASSED"
	CanaryRunStateFailed  CanaryRunState = "FAILED"
)

Enum values for CanaryRunState

func (CanaryRunState) MarshalValue

func (enum CanaryRunState) MarshalValue() (string, error)

func (CanaryRunState) MarshalValueBuf

func (enum CanaryRunState) MarshalValueBuf(b []byte) ([]byte, error)

type CanaryRunStateReasonCode

type CanaryRunStateReasonCode string
const (
	CanaryRunStateReasonCodeCanaryFailure    CanaryRunStateReasonCode = "CANARY_FAILURE"
	CanaryRunStateReasonCodeExecutionFailure CanaryRunStateReasonCode = "EXECUTION_FAILURE"
)

Enum values for CanaryRunStateReasonCode

func (CanaryRunStateReasonCode) MarshalValue

func (enum CanaryRunStateReasonCode) MarshalValue() (string, error)

func (CanaryRunStateReasonCode) MarshalValueBuf

func (enum CanaryRunStateReasonCode) MarshalValueBuf(b []byte) ([]byte, error)

type CanaryRunStatus

type CanaryRunStatus struct {

	// The current state of the run.
	State CanaryRunState `type:"string" enum:"true"`

	// If run of the canary failed, this field contains the reason for the error.
	StateReason *string `min:"1" type:"string"`

	// If this value is CANARY_FAILURE, an exception occurred in the canary code.
	// If this value is EXECUTION_FAILURE, an exception occurred in CloudWatch Synthetics.
	StateReasonCode CanaryRunStateReasonCode `type:"string" enum:"true"`
	// contains filtered or unexported fields
}

This structure contains the status information about a canary run.

func (CanaryRunStatus) MarshalFields

func (s CanaryRunStatus) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryRunStatus) String

func (s CanaryRunStatus) String() string

String returns the string representation

type CanaryRunTimeline

type CanaryRunTimeline struct {

	// The end time of the run.
	Completed *time.Time `type:"timestamp"`

	// The start time of the run.
	Started *time.Time `type:"timestamp"`
	// contains filtered or unexported fields
}

This structure contains the start and end times of a single canary run.

func (CanaryRunTimeline) MarshalFields

func (s CanaryRunTimeline) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryRunTimeline) String

func (s CanaryRunTimeline) String() string

String returns the string representation

type CanaryScheduleInput

type CanaryScheduleInput struct {

	// How long, in seconds, for the canary to continue making regular runs according
	// to the schedule in the Expression value. If you specify 0, the canary continues
	// making runs until you stop it. If you omit this field, the default of 0 is
	// used.
	DurationInSeconds *int64 `type:"long"`

	// A rate expression that defines how often the canary is to run. The syntax
	// is rate(number unit). unit can be minute, minutes, or hour.
	//
	// For example, rate(1 minute) runs the canary once a minute, rate(10 minutes)
	// runs it once every 10 minutes, and rate(1 hour) runs it once every hour.
	// You can specify a frequency between rate(1 minute) and rate(1 hour).
	//
	// Specifying rate(0 minute) or rate(0 hour) is a special value that causes
	// the canary to run only once when it is started.
	//
	// Expression is a required field
	Expression *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

This structure specifies how often a canary is to make runs and the date and time when it should stop making runs.

func (CanaryScheduleInput) MarshalFields

func (s CanaryScheduleInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryScheduleInput) String

func (s CanaryScheduleInput) String() string

String returns the string representation

func (*CanaryScheduleInput) Validate

func (s *CanaryScheduleInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CanaryScheduleOutput

type CanaryScheduleOutput struct {

	// How long, in seconds, for the canary to continue making regular runs after
	// it was created. The runs are performed according to the schedule in the Expression
	// value.
	DurationInSeconds *int64 `type:"long"`

	// A rate expression that defines how often the canary is to run. The syntax
	// is rate(number unit). unit can be minute, minutes, or hour.
	//
	// For example, rate(1 minute) runs the canary once a minute, rate(10 minutes)
	// runs it once every 10 minutes, and rate(1 hour) runs it once every hour.
	//
	// Specifying rate(0 minute) or rate(0 hour) is a special value that causes
	// the canary to run only once when it is started.
	Expression *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

How long, in seconds, for the canary to continue making regular runs according to the schedule in the Expression value.

func (CanaryScheduleOutput) MarshalFields

func (s CanaryScheduleOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryScheduleOutput) String

func (s CanaryScheduleOutput) String() string

String returns the string representation

type CanaryState

type CanaryState string
const (
	CanaryStateCreating CanaryState = "CREATING"
	CanaryStateReady    CanaryState = "READY"
	CanaryStateStarting CanaryState = "STARTING"
	CanaryStateRunning  CanaryState = "RUNNING"
	CanaryStateUpdating CanaryState = "UPDATING"
	CanaryStateStopping CanaryState = "STOPPING"
	CanaryStateStopped  CanaryState = "STOPPED"
	CanaryStateError    CanaryState = "ERROR"
	CanaryStateDeleting CanaryState = "DELETING"
)

Enum values for CanaryState

func (CanaryState) MarshalValue

func (enum CanaryState) MarshalValue() (string, error)

func (CanaryState) MarshalValueBuf

func (enum CanaryState) MarshalValueBuf(b []byte) ([]byte, error)

type CanaryStateReasonCode

type CanaryStateReasonCode string
const (
	CanaryStateReasonCodeInvalidPermissions CanaryStateReasonCode = "INVALID_PERMISSIONS"
)

Enum values for CanaryStateReasonCode

func (CanaryStateReasonCode) MarshalValue

func (enum CanaryStateReasonCode) MarshalValue() (string, error)

func (CanaryStateReasonCode) MarshalValueBuf

func (enum CanaryStateReasonCode) MarshalValueBuf(b []byte) ([]byte, error)

type CanaryStatus

type CanaryStatus struct {

	// The current state of the canary.
	State CanaryState `type:"string" enum:"true"`

	// If the canary has insufficient permissions to run, this field provides more
	// details.
	StateReason *string `min:"1" type:"string"`

	// If the canary cannot run or has failed, this field displays the reason.
	StateReasonCode CanaryStateReasonCode `type:"string" enum:"true"`
	// contains filtered or unexported fields
}

A structure that contains the current state of the canary.

func (CanaryStatus) MarshalFields

func (s CanaryStatus) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryStatus) String

func (s CanaryStatus) String() string

String returns the string representation

type CanaryTimeline

type CanaryTimeline struct {

	// The date and time the canary was created.
	Created *time.Time `type:"timestamp"`

	// The date and time the canary was most recently modified.
	LastModified *time.Time `type:"timestamp"`

	// The date and time that the canary's most recent run started.
	LastStarted *time.Time `type:"timestamp"`

	// The date and time that the canary's most recent run ended.
	LastStopped *time.Time `type:"timestamp"`
	// contains filtered or unexported fields
}

This structure contains information about when the canary was created and modified.

func (CanaryTimeline) MarshalFields

func (s CanaryTimeline) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CanaryTimeline) String

func (s CanaryTimeline) String() string

String returns the string representation

type Client

type Client struct {
	*aws.Client
}

Client provides the API operation methods for making requests to Synthetics. See this package's package overview docs for details on the service.

The client's methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

func New(config aws.Config) *Client

New creates a new instance of the client from the provided Config.

Example:

// Create a client from just a config.
svc := synthetics.New(myConfig)

func (*Client) CreateCanaryRequest

func (c *Client) CreateCanaryRequest(input *CreateCanaryInput) CreateCanaryRequest

CreateCanaryRequest returns a request value for making API operation for Synthetics.

Creates a canary. Canaries are scripts that monitor your endpoints and APIs from the outside-in. Canaries help you check the availability and latency of your web services and troubleshoot anomalies by investigating load time data, screenshots of the UI, logs, and metrics. You can set up a canary to run continuously or just once.

Do not use CreateCanary to modify an existing canary. Use UpdateCanary (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_UpdateCanary.html) instead.

To create canaries, you must have the CloudWatchSyntheticsFullAccess policy. If you are creating a new IAM role for the canary, you also need the the iam:CreateRole, iam:CreatePolicy and iam:AttachRolePolicy permissions. For more information, see Necessary Roles and Permissions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Roles).

Do not include secrets or proprietary information in your canary names. The canary name makes up part of the Amazon Resource Name (ARN) for the canary, and the ARN is included in outbound calls over the internet. For more information, see Security Considerations for Synthetics Canaries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html).

// Example sending a request using CreateCanaryRequest.
req := client.CreateCanaryRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateCanary

func (*Client) DeleteCanaryRequest

func (c *Client) DeleteCanaryRequest(input *DeleteCanaryInput) DeleteCanaryRequest

DeleteCanaryRequest returns a request value for making API operation for Synthetics.

Permanently deletes the specified canary.

When you delete a canary, resources used and created by the canary are not automatically deleted. After you delete a canary that you do not intend to use again, you should also delete the following:

  • The Lambda functions and layers used by this canary. These have the prefix cwsyn-MyCanaryName .

  • The CloudWatch alarms created for this canary. These alarms have a name of Synthetics-SharpDrop-Alarm-MyCanaryName .

  • Amazon S3 objects and buckets, such as the canary's artifact location.

  • IAM roles created for the canary. If they were created in the console, these roles have the name role/service-role/CloudWatchSyntheticsRole-MyCanaryName .

  • CloudWatch Logs log groups created for the canary. These logs groups have the name /aws/lambda/cwsyn-MyCanaryName .

Before you delete a canary, you might want to use GetCanary to display the information about this canary. Make note of the information returned by this operation so that you can delete these resources after you delete the canary.

// Example sending a request using DeleteCanaryRequest.
req := client.DeleteCanaryRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DeleteCanary

func (*Client) DescribeCanariesLastRunRequest

func (c *Client) DescribeCanariesLastRunRequest(input *DescribeCanariesLastRunInput) DescribeCanariesLastRunRequest

DescribeCanariesLastRunRequest returns a request value for making API operation for Synthetics.

Use this operation to see information from the most recent run of each canary that you have created.

// Example sending a request using DescribeCanariesLastRunRequest.
req := client.DescribeCanariesLastRunRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanariesLastRun

func (*Client) DescribeCanariesRequest

func (c *Client) DescribeCanariesRequest(input *DescribeCanariesInput) DescribeCanariesRequest

DescribeCanariesRequest returns a request value for making API operation for Synthetics.

This operation returns a list of the canaries in your account, along with full details about each canary.

This operation does not have resource-level authorization, so if a user is able to use DescribeCanaries, the user can see all of the canaries in the account. A deny policy can only be used to restrict access to all canaries. It cannot be used on specific resources.

// Example sending a request using DescribeCanariesRequest.
req := client.DescribeCanariesRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanaries

func (*Client) DescribeRuntimeVersionsRequest

func (c *Client) DescribeRuntimeVersionsRequest(input *DescribeRuntimeVersionsInput) DescribeRuntimeVersionsRequest

DescribeRuntimeVersionsRequest returns a request value for making API operation for Synthetics.

Returns a list of Synthetics canary runtime versions. For more information, see Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html).

// Example sending a request using DescribeRuntimeVersionsRequest.
req := client.DescribeRuntimeVersionsRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeRuntimeVersions

func (*Client) GetCanaryRequest

func (c *Client) GetCanaryRequest(input *GetCanaryInput) GetCanaryRequest

GetCanaryRequest returns a request value for making API operation for Synthetics.

Retrieves complete information about one canary. You must specify the name of the canary that you want. To get a list of canaries and their names, use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html).

// Example sending a request using GetCanaryRequest.
req := client.GetCanaryRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanary

func (*Client) GetCanaryRunsRequest

func (c *Client) GetCanaryRunsRequest(input *GetCanaryRunsInput) GetCanaryRunsRequest

GetCanaryRunsRequest returns a request value for making API operation for Synthetics.

Retrieves a list of runs for a specified canary.

// Example sending a request using GetCanaryRunsRequest.
req := client.GetCanaryRunsRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRuns

func (*Client) ListTagsForResourceRequest

func (c *Client) ListTagsForResourceRequest(input *ListTagsForResourceInput) ListTagsForResourceRequest

ListTagsForResourceRequest returns a request value for making API operation for Synthetics.

Displays the tags associated with a canary.

// Example sending a request using ListTagsForResourceRequest.
req := client.ListTagsForResourceRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListTagsForResource

func (*Client) StartCanaryRequest

func (c *Client) StartCanaryRequest(input *StartCanaryInput) StartCanaryRequest

StartCanaryRequest returns a request value for making API operation for Synthetics.

Use this operation to run a canary that has already been created. The frequency of the canary runs is determined by the value of the canary's Schedule. To see a canary's schedule, use GetCanary (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanary.html).

// Example sending a request using StartCanaryRequest.
req := client.StartCanaryRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanary

func (*Client) StopCanaryRequest

func (c *Client) StopCanaryRequest(input *StopCanaryInput) StopCanaryRequest

StopCanaryRequest returns a request value for making API operation for Synthetics.

Stops the canary to prevent all future runs. If the canary is currently running, Synthetics stops waiting for the current run of the specified canary to complete. The run that is in progress completes on its own, publishes metrics, and uploads artifacts, but it is not recorded in Synthetics as a completed run.

You can use StartCanary to start it running again with the canary’s current schedule at any point in the future.

// Example sending a request using StopCanaryRequest.
req := client.StopCanaryRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StopCanary

func (*Client) TagResourceRequest

func (c *Client) TagResourceRequest(input *TagResourceInput) TagResourceRequest

TagResourceRequest returns a request value for making API operation for Synthetics.

Assigns one or more tags (key-value pairs) to the specified canary.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with a canary that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a canary.

// Example sending a request using TagResourceRequest.
req := client.TagResourceRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/TagResource

func (*Client) UntagResourceRequest

func (c *Client) UntagResourceRequest(input *UntagResourceInput) UntagResourceRequest

UntagResourceRequest returns a request value for making API operation for Synthetics.

Removes one or more tags from the specified canary.

// Example sending a request using UntagResourceRequest.
req := client.UntagResourceRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UntagResource

func (*Client) UpdateCanaryRequest

func (c *Client) UpdateCanaryRequest(input *UpdateCanaryInput) UpdateCanaryRequest

UpdateCanaryRequest returns a request value for making API operation for Synthetics.

Use this operation to change the settings of a canary that has already been created.

You can't use this operation to update the tags of an existing canary. To change the tags of an existing canary, use TagResource (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_TagResource.html).

// Example sending a request using UpdateCanaryRequest.
req := client.UpdateCanaryRequest(params)
resp, err := req.Send(context.TODO())
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanary

type CreateCanaryInput

type CreateCanaryInput struct {

	// The location in Amazon S3 where Synthetics stores artifacts from the test
	// runs of this canary. Artifacts include the log file, screenshots, and HAR
	// files.
	//
	// ArtifactS3Location is a required field
	ArtifactS3Location *string `min:"1" type:"string" required:"true"`

	// A structure that includes the entry point from which the canary should start
	// running your script. If the script is stored in an S3 bucket, the bucket
	// name, key, and version are also included.
	//
	// Code is a required field
	Code *CanaryCodeInput `type:"structure" required:"true"`

	// The ARN of the IAM role to be used to run the canary. This role must already
	// exist, and must include lambda.amazonaws.com as a principal in the trust
	// policy. The role must also have the following permissions:
	//
	//    * s3:PutObject
	//
	//    * s3:GetBucketLocation
	//
	//    * s3:ListAllMyBuckets
	//
	//    * cloudwatch:PutMetricData
	//
	//    * logs:CreateLogGroup
	//
	//    * logs:CreateLogStream
	//
	//    * logs:CreateLogStream
	//
	// ExecutionRoleArn is a required field
	ExecutionRoleArn *string `type:"string" required:"true"`

	// The number of days to retain data about failed runs of this canary. If you
	// omit this field, the default of 31 days is used. The valid range is 1 to
	// 455 days.
	FailureRetentionPeriodInDays *int64 `min:"1" type:"integer"`

	// The name for this canary. Be sure to give it a descriptive name that distinguishes
	// it from other canaries in your account.
	//
	// Do not include secrets or proprietary information in your canary names. The
	// canary name makes up part of the canary ARN, and the ARN is included in outbound
	// calls over the internet. For more information, see Security Considerations
	// for Synthetics Canaries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html).
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// A structure that contains the configuration for individual canary runs, such
	// as timeout value.
	RunConfig *CanaryRunConfigInput `type:"structure"`

	// Specifies the runtime version to use for the canary. Currently, the only
	// valid value is syn-1.0. For more information about runtime versions, see
	// Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html).
	//
	// RuntimeVersion is a required field
	RuntimeVersion *string `min:"1" type:"string" required:"true"`

	// A structure that contains information about how often the canary is to run
	// and when these test runs are to stop.
	//
	// Schedule is a required field
	Schedule *CanaryScheduleInput `type:"structure" required:"true"`

	// The number of days to retain data about successful runs of this canary. If
	// you omit this field, the default of 31 days is used. The valid range is 1
	// to 455 days.
	SuccessRetentionPeriodInDays *int64 `min:"1" type:"integer"`

	// A list of key-value pairs to associate with the canary. You can associate
	// as many as 50 tags with a canary.
	//
	// Tags can help you organize and categorize your resources. You can also use
	// them to scope user permissions, by granting a user permission to access or
	// change only the resources that have certain tag values.
	Tags map[string]string `min:"1" type:"map"`

	// If this canary is to test an endpoint in a VPC, this structure contains information
	// about the subnet and security groups of the VPC endpoint. For more information,
	// see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html).
	VpcConfig *VpcConfigInput `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateCanaryInput) MarshalFields

func (s CreateCanaryInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CreateCanaryInput) String

func (s CreateCanaryInput) String() string

String returns the string representation

func (*CreateCanaryInput) Validate

func (s *CreateCanaryInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateCanaryOutput

type CreateCanaryOutput struct {

	// The full details about the canary you have created.
	Canary *Canary `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateCanaryOutput) MarshalFields

func (s CreateCanaryOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CreateCanaryOutput) String

func (s CreateCanaryOutput) String() string

String returns the string representation

type CreateCanaryRequest

type CreateCanaryRequest struct {
	*aws.Request
	Input *CreateCanaryInput
	Copy  func(*CreateCanaryInput) CreateCanaryRequest
}

CreateCanaryRequest is the request type for the CreateCanary API operation.

func (CreateCanaryRequest) Send

Send marshals and sends the CreateCanary API request.

type CreateCanaryResponse

type CreateCanaryResponse struct {
	*CreateCanaryOutput
	// contains filtered or unexported fields
}

CreateCanaryResponse is the response type for the CreateCanary API operation.

func (*CreateCanaryResponse) SDKResponseMetdata

func (r *CreateCanaryResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the CreateCanary request.

type DeleteCanaryInput

type DeleteCanaryInput struct {

	// The name of the canary that you want to delete. To find the names of your
	// canaries, use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html).
	//
	// Name is a required field
	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DeleteCanaryInput) MarshalFields

func (s DeleteCanaryInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DeleteCanaryInput) String

func (s DeleteCanaryInput) String() string

String returns the string representation

func (*DeleteCanaryInput) Validate

func (s *DeleteCanaryInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteCanaryOutput

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

func (DeleteCanaryOutput) MarshalFields

func (s DeleteCanaryOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DeleteCanaryOutput) String

func (s DeleteCanaryOutput) String() string

String returns the string representation

type DeleteCanaryRequest

type DeleteCanaryRequest struct {
	*aws.Request
	Input *DeleteCanaryInput
	Copy  func(*DeleteCanaryInput) DeleteCanaryRequest
}

DeleteCanaryRequest is the request type for the DeleteCanary API operation.

func (DeleteCanaryRequest) Send

Send marshals and sends the DeleteCanary API request.

type DeleteCanaryResponse

type DeleteCanaryResponse struct {
	*DeleteCanaryOutput
	// contains filtered or unexported fields
}

DeleteCanaryResponse is the response type for the DeleteCanary API operation.

func (*DeleteCanaryResponse) SDKResponseMetdata

func (r *DeleteCanaryResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the DeleteCanary request.

type DescribeCanariesInput

type DescribeCanariesInput struct {

	// Specify this parameter to limit how many canaries are returned each time
	// you use the DescribeCanaries operation. If you omit this parameter, the default
	// of 100 is used.
	MaxResults *int64 `min:"1" type:"integer"`

	// A token that indicates that there is more data available. You can use this
	// token in a subsequent operation to retrieve the next set of results.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (DescribeCanariesInput) MarshalFields

func (s DescribeCanariesInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DescribeCanariesInput) String

func (s DescribeCanariesInput) String() string

String returns the string representation

func (*DescribeCanariesInput) Validate

func (s *DescribeCanariesInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DescribeCanariesLastRunInput

type DescribeCanariesLastRunInput struct {

	// Specify this parameter to limit how many runs are returned each time you
	// use the DescribeLastRun operation. If you omit this parameter, the default
	// of 100 is used.
	MaxResults *int64 `min:"1" type:"integer"`

	// A token that indicates that there is more data available. You can use this
	// token in a subsequent DescribeCanaries operation to retrieve the next set
	// of results.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (DescribeCanariesLastRunInput) MarshalFields

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DescribeCanariesLastRunInput) String

String returns the string representation

func (*DescribeCanariesLastRunInput) Validate

func (s *DescribeCanariesLastRunInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DescribeCanariesLastRunOutput

type DescribeCanariesLastRunOutput struct {

	// An array that contains the information from the most recent run of each canary.
	CanariesLastRun []CanaryLastRun `type:"list"`

	// A token that indicates that there is more data available. You can use this
	// token in a subsequent DescribeCanariesLastRun operation to retrieve the next
	// set of results.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (DescribeCanariesLastRunOutput) MarshalFields

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DescribeCanariesLastRunOutput) String

String returns the string representation

type DescribeCanariesLastRunPaginator

type DescribeCanariesLastRunPaginator struct {
	aws.Pager
}

DescribeCanariesLastRunPaginator is used to paginate the request. This can be done by calling Next and CurrentPage.

func NewDescribeCanariesLastRunPaginator

func NewDescribeCanariesLastRunPaginator(req DescribeCanariesLastRunRequest) DescribeCanariesLastRunPaginator

NewDescribeCanariesLastRunRequestPaginator returns a paginator for DescribeCanariesLastRun. Use Next method to get the next page, and CurrentPage to get the current response page from the paginator. Next will return false, if there are no more pages, or an error was encountered.

Note: This operation can generate multiple requests to a service.

// Example iterating over pages.
req := client.DescribeCanariesLastRunRequest(input)
p := synthetics.NewDescribeCanariesLastRunRequestPaginator(req)

for p.Next(context.TODO()) {
    page := p.CurrentPage()
}

if err := p.Err(); err != nil {
    return err
}

func (*DescribeCanariesLastRunPaginator) CurrentPage

type DescribeCanariesLastRunRequest

type DescribeCanariesLastRunRequest struct {
	*aws.Request
	Input *DescribeCanariesLastRunInput
	Copy  func(*DescribeCanariesLastRunInput) DescribeCanariesLastRunRequest
}

DescribeCanariesLastRunRequest is the request type for the DescribeCanariesLastRun API operation.

func (DescribeCanariesLastRunRequest) Send

Send marshals and sends the DescribeCanariesLastRun API request.

type DescribeCanariesLastRunResponse

type DescribeCanariesLastRunResponse struct {
	*DescribeCanariesLastRunOutput
	// contains filtered or unexported fields
}

DescribeCanariesLastRunResponse is the response type for the DescribeCanariesLastRun API operation.

func (*DescribeCanariesLastRunResponse) SDKResponseMetdata

func (r *DescribeCanariesLastRunResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the DescribeCanariesLastRun request.

type DescribeCanariesOutput

type DescribeCanariesOutput struct {

	// Returns an array. Each item in the array contains the full information about
	// one canary.
	Canaries []Canary `type:"list"`

	// A token that indicates that there is more data available. You can use this
	// token in a subsequent DescribeCanaries operation to retrieve the next set
	// of results.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (DescribeCanariesOutput) MarshalFields

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DescribeCanariesOutput) String

func (s DescribeCanariesOutput) String() string

String returns the string representation

type DescribeCanariesPaginator

type DescribeCanariesPaginator struct {
	aws.Pager
}

DescribeCanariesPaginator is used to paginate the request. This can be done by calling Next and CurrentPage.

func NewDescribeCanariesPaginator

func NewDescribeCanariesPaginator(req DescribeCanariesRequest) DescribeCanariesPaginator

NewDescribeCanariesRequestPaginator returns a paginator for DescribeCanaries. Use Next method to get the next page, and CurrentPage to get the current response page from the paginator. Next will return false, if there are no more pages, or an error was encountered.

Note: This operation can generate multiple requests to a service.

// Example iterating over pages.
req := client.DescribeCanariesRequest(input)
p := synthetics.NewDescribeCanariesRequestPaginator(req)

for p.Next(context.TODO()) {
    page := p.CurrentPage()
}

if err := p.Err(); err != nil {
    return err
}

func (*DescribeCanariesPaginator) CurrentPage

type DescribeCanariesRequest

type DescribeCanariesRequest struct {
	*aws.Request
	Input *DescribeCanariesInput
	Copy  func(*DescribeCanariesInput) DescribeCanariesRequest
}

DescribeCanariesRequest is the request type for the DescribeCanaries API operation.

func (DescribeCanariesRequest) Send

Send marshals and sends the DescribeCanaries API request.

type DescribeCanariesResponse

type DescribeCanariesResponse struct {
	*DescribeCanariesOutput
	// contains filtered or unexported fields
}

DescribeCanariesResponse is the response type for the DescribeCanaries API operation.

func (*DescribeCanariesResponse) SDKResponseMetdata

func (r *DescribeCanariesResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the DescribeCanaries request.

type DescribeRuntimeVersionsInput

type DescribeRuntimeVersionsInput struct {

	// Specify this parameter to limit how many runs are returned each time you
	// use the DescribeRuntimeVersions operation. If you omit this parameter, the
	// default of 100 is used.
	MaxResults *int64 `min:"1" type:"integer"`

	// A token that indicates that there is more data available. You can use this
	// token in a subsequent DescribeRuntimeVersions operation to retrieve the next
	// set of results.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (DescribeRuntimeVersionsInput) MarshalFields

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DescribeRuntimeVersionsInput) String

String returns the string representation

func (*DescribeRuntimeVersionsInput) Validate

func (s *DescribeRuntimeVersionsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DescribeRuntimeVersionsOutput

type DescribeRuntimeVersionsOutput struct {

	// A token that indicates that there is more data available. You can use this
	// token in a subsequent DescribeRuntimeVersions operation to retrieve the next
	// set of results.
	NextToken *string `type:"string"`

	// An array of objects that display the details about each Synthetics canary
	// runtime version.
	RuntimeVersions []RuntimeVersion `type:"list"`
	// contains filtered or unexported fields
}

func (DescribeRuntimeVersionsOutput) MarshalFields

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DescribeRuntimeVersionsOutput) String

String returns the string representation

type DescribeRuntimeVersionsPaginator

type DescribeRuntimeVersionsPaginator struct {
	aws.Pager
}

DescribeRuntimeVersionsPaginator is used to paginate the request. This can be done by calling Next and CurrentPage.

func NewDescribeRuntimeVersionsPaginator

func NewDescribeRuntimeVersionsPaginator(req DescribeRuntimeVersionsRequest) DescribeRuntimeVersionsPaginator

NewDescribeRuntimeVersionsRequestPaginator returns a paginator for DescribeRuntimeVersions. Use Next method to get the next page, and CurrentPage to get the current response page from the paginator. Next will return false, if there are no more pages, or an error was encountered.

Note: This operation can generate multiple requests to a service.

// Example iterating over pages.
req := client.DescribeRuntimeVersionsRequest(input)
p := synthetics.NewDescribeRuntimeVersionsRequestPaginator(req)

for p.Next(context.TODO()) {
    page := p.CurrentPage()
}

if err := p.Err(); err != nil {
    return err
}

func (*DescribeRuntimeVersionsPaginator) CurrentPage

type DescribeRuntimeVersionsRequest

type DescribeRuntimeVersionsRequest struct {
	*aws.Request
	Input *DescribeRuntimeVersionsInput
	Copy  func(*DescribeRuntimeVersionsInput) DescribeRuntimeVersionsRequest
}

DescribeRuntimeVersionsRequest is the request type for the DescribeRuntimeVersions API operation.

func (DescribeRuntimeVersionsRequest) Send

Send marshals and sends the DescribeRuntimeVersions API request.

type DescribeRuntimeVersionsResponse

type DescribeRuntimeVersionsResponse struct {
	*DescribeRuntimeVersionsOutput
	// contains filtered or unexported fields
}

DescribeRuntimeVersionsResponse is the response type for the DescribeRuntimeVersions API operation.

func (*DescribeRuntimeVersionsResponse) SDKResponseMetdata

func (r *DescribeRuntimeVersionsResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the DescribeRuntimeVersions request.

type GetCanaryInput

type GetCanaryInput struct {

	// The name of the canary that you want details for.
	//
	// Name is a required field
	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (GetCanaryInput) MarshalFields

func (s GetCanaryInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (GetCanaryInput) String

func (s GetCanaryInput) String() string

String returns the string representation

func (*GetCanaryInput) Validate

func (s *GetCanaryInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetCanaryOutput

type GetCanaryOutput struct {

	// A strucure that contains the full information about the canary.
	Canary *Canary `type:"structure"`
	// contains filtered or unexported fields
}

func (GetCanaryOutput) MarshalFields

func (s GetCanaryOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (GetCanaryOutput) String

func (s GetCanaryOutput) String() string

String returns the string representation

type GetCanaryRequest

type GetCanaryRequest struct {
	*aws.Request
	Input *GetCanaryInput
	Copy  func(*GetCanaryInput) GetCanaryRequest
}

GetCanaryRequest is the request type for the GetCanary API operation.

func (GetCanaryRequest) Send

Send marshals and sends the GetCanary API request.

type GetCanaryResponse

type GetCanaryResponse struct {
	*GetCanaryOutput
	// contains filtered or unexported fields
}

GetCanaryResponse is the response type for the GetCanary API operation.

func (*GetCanaryResponse) SDKResponseMetdata

func (r *GetCanaryResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetCanary request.

type GetCanaryRunsInput

type GetCanaryRunsInput struct {

	// Specify this parameter to limit how many runs are returned each time you
	// use the GetCanaryRuns operation. If you omit this parameter, the default
	// of 100 is used.
	MaxResults *int64 `min:"1" type:"integer"`

	// The name of the canary that you want to see runs for.
	//
	// Name is a required field
	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`

	// A token that indicates that there is more data available. You can use this
	// token in a subsequent GetCanaryRuns operation to retrieve the next set of
	// results.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (GetCanaryRunsInput) MarshalFields

func (s GetCanaryRunsInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (GetCanaryRunsInput) String

func (s GetCanaryRunsInput) String() string

String returns the string representation

func (*GetCanaryRunsInput) Validate

func (s *GetCanaryRunsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetCanaryRunsOutput

type GetCanaryRunsOutput struct {

	// An array of structures. Each structure contains the details of one of the
	// retrieved canary runs.
	CanaryRuns []CanaryRun `type:"list"`

	// A token that indicates that there is more data available. You can use this
	// token in a subsequent GetCanaryRuns operation to retrieve the next set of
	// results.
	NextToken *string `type:"string"`
	// contains filtered or unexported fields
}

func (GetCanaryRunsOutput) MarshalFields

func (s GetCanaryRunsOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (GetCanaryRunsOutput) String

func (s GetCanaryRunsOutput) String() string

String returns the string representation

type GetCanaryRunsPaginator

type GetCanaryRunsPaginator struct {
	aws.Pager
}

GetCanaryRunsPaginator is used to paginate the request. This can be done by calling Next and CurrentPage.

func NewGetCanaryRunsPaginator

func NewGetCanaryRunsPaginator(req GetCanaryRunsRequest) GetCanaryRunsPaginator

NewGetCanaryRunsRequestPaginator returns a paginator for GetCanaryRuns. Use Next method to get the next page, and CurrentPage to get the current response page from the paginator. Next will return false, if there are no more pages, or an error was encountered.

Note: This operation can generate multiple requests to a service.

// Example iterating over pages.
req := client.GetCanaryRunsRequest(input)
p := synthetics.NewGetCanaryRunsRequestPaginator(req)

for p.Next(context.TODO()) {
    page := p.CurrentPage()
}

if err := p.Err(); err != nil {
    return err
}

func (*GetCanaryRunsPaginator) CurrentPage

func (p *GetCanaryRunsPaginator) CurrentPage() *GetCanaryRunsOutput

type GetCanaryRunsRequest

type GetCanaryRunsRequest struct {
	*aws.Request
	Input *GetCanaryRunsInput
	Copy  func(*GetCanaryRunsInput) GetCanaryRunsRequest
}

GetCanaryRunsRequest is the request type for the GetCanaryRuns API operation.

func (GetCanaryRunsRequest) Send

Send marshals and sends the GetCanaryRuns API request.

type GetCanaryRunsResponse

type GetCanaryRunsResponse struct {
	*GetCanaryRunsOutput
	// contains filtered or unexported fields
}

GetCanaryRunsResponse is the response type for the GetCanaryRuns API operation.

func (*GetCanaryRunsResponse) SDKResponseMetdata

func (r *GetCanaryRunsResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the GetCanaryRuns request.

type ListTagsForResourceInput

type ListTagsForResourceInput struct {

	// The ARN of the canary that you want to view tags for.
	//
	// The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name .
	//
	// ResourceArn is a required field
	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (ListTagsForResourceInput) MarshalFields

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (ListTagsForResourceInput) String

func (s ListTagsForResourceInput) String() string

String returns the string representation

func (*ListTagsForResourceInput) Validate

func (s *ListTagsForResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListTagsForResourceOutput

type ListTagsForResourceOutput struct {

	// The list of tag keys and values associated with the canary that you specified.
	Tags map[string]string `min:"1" type:"map"`
	// contains filtered or unexported fields
}

func (ListTagsForResourceOutput) MarshalFields

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (ListTagsForResourceOutput) String

func (s ListTagsForResourceOutput) String() string

String returns the string representation

type ListTagsForResourceRequest

type ListTagsForResourceRequest struct {
	*aws.Request
	Input *ListTagsForResourceInput
	Copy  func(*ListTagsForResourceInput) ListTagsForResourceRequest
}

ListTagsForResourceRequest is the request type for the ListTagsForResource API operation.

func (ListTagsForResourceRequest) Send

Send marshals and sends the ListTagsForResource API request.

type ListTagsForResourceResponse

type ListTagsForResourceResponse struct {
	*ListTagsForResourceOutput
	// contains filtered or unexported fields
}

ListTagsForResourceResponse is the response type for the ListTagsForResource API operation.

func (*ListTagsForResourceResponse) SDKResponseMetdata

func (r *ListTagsForResourceResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the ListTagsForResource request.

type RuntimeVersion

type RuntimeVersion struct {

	// If this runtime version is deprecated, this value is the date of deprecation.
	DeprecationDate *time.Time `type:"timestamp"`

	// A description of the runtime version, created by Amazon.
	Description *string `min:"1" type:"string"`

	// The date that the runtime version was released.
	ReleaseDate *time.Time `type:"timestamp"`

	// The name of the runtime version. Currently, the only valid value is syn-1.0.
	//
	// Specifies the runtime version to use for the canary. Currently, the only
	// valid value is syn-1.0.
	VersionName *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

This structure contains information about one canary runtime version. For more information about runtime versions, see Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html).

func (RuntimeVersion) MarshalFields

func (s RuntimeVersion) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (RuntimeVersion) String

func (s RuntimeVersion) String() string

String returns the string representation

type StartCanaryInput

type StartCanaryInput struct {

	// The name of the canary that you want to run. To find canary names, use DescribeCanaries
	// (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html).
	//
	// Name is a required field
	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (StartCanaryInput) MarshalFields

func (s StartCanaryInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (StartCanaryInput) String

func (s StartCanaryInput) String() string

String returns the string representation

func (*StartCanaryInput) Validate

func (s *StartCanaryInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type StartCanaryOutput

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

func (StartCanaryOutput) MarshalFields

func (s StartCanaryOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (StartCanaryOutput) String

func (s StartCanaryOutput) String() string

String returns the string representation

type StartCanaryRequest

type StartCanaryRequest struct {
	*aws.Request
	Input *StartCanaryInput
	Copy  func(*StartCanaryInput) StartCanaryRequest
}

StartCanaryRequest is the request type for the StartCanary API operation.

func (StartCanaryRequest) Send

Send marshals and sends the StartCanary API request.

type StartCanaryResponse

type StartCanaryResponse struct {
	*StartCanaryOutput
	// contains filtered or unexported fields
}

StartCanaryResponse is the response type for the StartCanary API operation.

func (*StartCanaryResponse) SDKResponseMetdata

func (r *StartCanaryResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the StartCanary request.

type StopCanaryInput

type StopCanaryInput struct {

	// The name of the canary that you want to stop. To find the names of your canaries,
	// use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html).
	//
	// Name is a required field
	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (StopCanaryInput) MarshalFields

func (s StopCanaryInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (StopCanaryInput) String

func (s StopCanaryInput) String() string

String returns the string representation

func (*StopCanaryInput) Validate

func (s *StopCanaryInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type StopCanaryOutput

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

func (StopCanaryOutput) MarshalFields

func (s StopCanaryOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (StopCanaryOutput) String

func (s StopCanaryOutput) String() string

String returns the string representation

type StopCanaryRequest

type StopCanaryRequest struct {
	*aws.Request
	Input *StopCanaryInput
	Copy  func(*StopCanaryInput) StopCanaryRequest
}

StopCanaryRequest is the request type for the StopCanary API operation.

func (StopCanaryRequest) Send

Send marshals and sends the StopCanary API request.

type StopCanaryResponse

type StopCanaryResponse struct {
	*StopCanaryOutput
	// contains filtered or unexported fields
}

StopCanaryResponse is the response type for the StopCanary API operation.

func (*StopCanaryResponse) SDKResponseMetdata

func (r *StopCanaryResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the StopCanary request.

type TagResourceInput

type TagResourceInput struct {

	// The ARN of the canary that you're adding tags to.
	//
	// The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name .
	//
	// ResourceArn is a required field
	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`

	// The list of key-value pairs to associate with the canary.
	//
	// Tags is a required field
	Tags map[string]string `min:"1" type:"map" required:"true"`
	// contains filtered or unexported fields
}

func (TagResourceInput) MarshalFields

func (s TagResourceInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (TagResourceInput) String

func (s TagResourceInput) String() string

String returns the string representation

func (*TagResourceInput) Validate

func (s *TagResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type TagResourceOutput

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

func (TagResourceOutput) MarshalFields

func (s TagResourceOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (TagResourceOutput) String

func (s TagResourceOutput) String() string

String returns the string representation

type TagResourceRequest

type TagResourceRequest struct {
	*aws.Request
	Input *TagResourceInput
	Copy  func(*TagResourceInput) TagResourceRequest
}

TagResourceRequest is the request type for the TagResource API operation.

func (TagResourceRequest) Send

Send marshals and sends the TagResource API request.

type TagResourceResponse

type TagResourceResponse struct {
	*TagResourceOutput
	// contains filtered or unexported fields
}

TagResourceResponse is the response type for the TagResource API operation.

func (*TagResourceResponse) SDKResponseMetdata

func (r *TagResourceResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the TagResource request.

type UntagResourceInput

type UntagResourceInput struct {

	// The ARN of the canary that you're removing tags from.
	//
	// The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name .
	//
	// ResourceArn is a required field
	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`

	// The list of tag keys to remove from the resource.
	//
	// TagKeys is a required field
	TagKeys []string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (UntagResourceInput) MarshalFields

func (s UntagResourceInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (UntagResourceInput) String

func (s UntagResourceInput) String() string

String returns the string representation

func (*UntagResourceInput) Validate

func (s *UntagResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UntagResourceOutput

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

func (UntagResourceOutput) MarshalFields

func (s UntagResourceOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (UntagResourceOutput) String

func (s UntagResourceOutput) String() string

String returns the string representation

type UntagResourceRequest

type UntagResourceRequest struct {
	*aws.Request
	Input *UntagResourceInput
	Copy  func(*UntagResourceInput) UntagResourceRequest
}

UntagResourceRequest is the request type for the UntagResource API operation.

func (UntagResourceRequest) Send

Send marshals and sends the UntagResource API request.

type UntagResourceResponse

type UntagResourceResponse struct {
	*UntagResourceOutput
	// contains filtered or unexported fields
}

UntagResourceResponse is the response type for the UntagResource API operation.

func (*UntagResourceResponse) SDKResponseMetdata

func (r *UntagResourceResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the UntagResource request.

type UpdateCanaryInput

type UpdateCanaryInput struct {

	// A structure that includes the entry point from which the canary should start
	// running your script. If the script is stored in an S3 bucket, the bucket
	// name, key, and version are also included.
	Code *CanaryCodeInput `type:"structure"`

	// The ARN of the IAM role to be used to run the canary. This role must already
	// exist, and must include lambda.amazonaws.com as a principal in the trust
	// policy. The role must also have the following permissions:
	//
	//    * s3:PutObject
	//
	//    * s3:GetBucketLocation
	//
	//    * s3:ListAllMyBuckets
	//
	//    * cloudwatch:PutMetricData
	//
	//    * logs:CreateLogGroup
	//
	//    * logs:CreateLogStream
	//
	//    * logs:CreateLogStream
	ExecutionRoleArn *string `type:"string"`

	// The number of days to retain data about failed runs of this canary.
	FailureRetentionPeriodInDays *int64 `min:"1" type:"integer"`

	// The name of the canary that you want to update. To find the names of your
	// canaries, use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html).
	//
	// You cannot change the name of a canary that has already been created.
	//
	// Name is a required field
	Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"`

	// A structure that contains the timeout value that is used for each individual
	// run of the canary.
	RunConfig *CanaryRunConfigInput `type:"structure"`

	// Specifies the runtime version to use for the canary. Currently, the only
	// valid value is syn-1.0. For more information about runtime versions, see
	// Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html).
	RuntimeVersion *string `min:"1" type:"string"`

	// A structure that contains information about how often the canary is to run,
	// and when these runs are to stop.
	Schedule *CanaryScheduleInput `type:"structure"`

	// The number of days to retain data about successful runs of this canary.
	SuccessRetentionPeriodInDays *int64 `min:"1" type:"integer"`

	// If this canary is to test an endpoint in a VPC, this structure contains information
	// about the subnet and security groups of the VPC endpoint. For more information,
	// see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html).
	VpcConfig *VpcConfigInput `type:"structure"`
	// contains filtered or unexported fields
}

func (UpdateCanaryInput) MarshalFields

func (s UpdateCanaryInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (UpdateCanaryInput) String

func (s UpdateCanaryInput) String() string

String returns the string representation

func (*UpdateCanaryInput) Validate

func (s *UpdateCanaryInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UpdateCanaryOutput

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

func (UpdateCanaryOutput) MarshalFields

func (s UpdateCanaryOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (UpdateCanaryOutput) String

func (s UpdateCanaryOutput) String() string

String returns the string representation

type UpdateCanaryRequest

type UpdateCanaryRequest struct {
	*aws.Request
	Input *UpdateCanaryInput
	Copy  func(*UpdateCanaryInput) UpdateCanaryRequest
}

UpdateCanaryRequest is the request type for the UpdateCanary API operation.

func (UpdateCanaryRequest) Send

Send marshals and sends the UpdateCanary API request.

type UpdateCanaryResponse

type UpdateCanaryResponse struct {
	*UpdateCanaryOutput
	// contains filtered or unexported fields
}

UpdateCanaryResponse is the response type for the UpdateCanary API operation.

func (*UpdateCanaryResponse) SDKResponseMetdata

func (r *UpdateCanaryResponse) SDKResponseMetdata() *aws.Response

SDKResponseMetdata returns the response metadata for the UpdateCanary request.

type VpcConfigInput

type VpcConfigInput struct {

	// The IDs of the security groups for this canary.
	SecurityGroupIds []string `type:"list"`

	// The IDs of the subnets where this canary is to run.
	SubnetIds []string `type:"list"`
	// contains filtered or unexported fields
}

If this canary is to test an endpoint in a VPC, this structure contains information about the subnets and security groups of the VPC endpoint. For more information, see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html).

func (VpcConfigInput) MarshalFields

func (s VpcConfigInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (VpcConfigInput) String

func (s VpcConfigInput) String() string

String returns the string representation

type VpcConfigOutput

type VpcConfigOutput struct {

	// The IDs of the security groups for this canary.
	SecurityGroupIds []string `type:"list"`

	// The IDs of the subnets where this canary is to run.
	SubnetIds []string `type:"list"`

	// The IDs of the VPC where this canary is to run.
	VpcId *string `type:"string"`
	// contains filtered or unexported fields
}

If this canary is to test an endpoint in a VPC, this structure contains information about the subnets and security groups of the VPC endpoint. For more information, see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html).

func (VpcConfigOutput) MarshalFields

func (s VpcConfigOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (VpcConfigOutput) String

func (s VpcConfigOutput) String() string

String returns the string representation

Directories

Path Synopsis
Package syntheticsiface provides an interface to enable mocking the Synthetics service client for testing your code.
Package syntheticsiface provides an interface to enable mocking the Synthetics service client for testing your code.

Jump to

Keyboard shortcuts

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