shield

package
v1.13.43 Latest Latest
Warning

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

Go to latest
Published: May 7, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package shield provides the client and types for making API requests to AWS Shield.

This is the AWS Shield Advanced API Reference. This guide is for developers who need detailed information about the AWS Shield Advanced API actions, data types, and errors. For detailed information about AWS WAF and AWS Shield Advanced features and an overview of how to use the AWS WAF and AWS Shield Advanced APIs, see the AWS WAF and AWS Shield Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/).

See https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02 for more information on this service.

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

Using the Client

To contact AWS Shield 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 AWS Shield client Shield for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/shield/#New

Index

Constants

View Source
const (
	// AttackLayerNetwork is a AttackLayer enum value
	AttackLayerNetwork = "NETWORK"

	// AttackLayerApplication is a AttackLayer enum value
	AttackLayerApplication = "APPLICATION"
)
View Source
const (
	// AttackPropertyIdentifierDestinationUrl is a AttackPropertyIdentifier enum value
	AttackPropertyIdentifierDestinationUrl = "DESTINATION_URL"

	// AttackPropertyIdentifierReferrer is a AttackPropertyIdentifier enum value
	AttackPropertyIdentifierReferrer = "REFERRER"

	// AttackPropertyIdentifierSourceAsn is a AttackPropertyIdentifier enum value
	AttackPropertyIdentifierSourceAsn = "SOURCE_ASN"

	// AttackPropertyIdentifierSourceCountry is a AttackPropertyIdentifier enum value
	AttackPropertyIdentifierSourceCountry = "SOURCE_COUNTRY"

	// AttackPropertyIdentifierSourceIpAddress is a AttackPropertyIdentifier enum value
	AttackPropertyIdentifierSourceIpAddress = "SOURCE_IP_ADDRESS"

	// AttackPropertyIdentifierSourceUserAgent is a AttackPropertyIdentifier enum value
	AttackPropertyIdentifierSourceUserAgent = "SOURCE_USER_AGENT"
)
View Source
const (
	// SubResourceTypeIp is a SubResourceType enum value
	SubResourceTypeIp = "IP"

	// SubResourceTypeUrl is a SubResourceType enum value
	SubResourceTypeUrl = "URL"
)
View Source
const (
	// SubscriptionStateActive is a SubscriptionState enum value
	SubscriptionStateActive = "ACTIVE"

	// SubscriptionStateInactive is a SubscriptionState enum value
	SubscriptionStateInactive = "INACTIVE"
)
View Source
const (
	// UnitBits is a Unit enum value
	UnitBits = "BITS"

	// UnitBytes is a Unit enum value
	UnitBytes = "BYTES"

	// UnitPackets is a Unit enum value
	UnitPackets = "PACKETS"

	// UnitRequests is a Unit enum value
	UnitRequests = "REQUESTS"
)
View Source
const (

	// ErrCodeInternalErrorException for service response error code
	// "InternalErrorException".
	//
	// Exception that indicates that a problem occurred with the service infrastructure.
	// You can retry the request.
	ErrCodeInternalErrorException = "InternalErrorException"

	// ErrCodeInvalidOperationException for service response error code
	// "InvalidOperationException".
	//
	// Exception that indicates that the operation would not cause any change to
	// occur.
	ErrCodeInvalidOperationException = "InvalidOperationException"

	// ErrCodeInvalidParameterException for service response error code
	// "InvalidParameterException".
	//
	// Exception that indicates that the parameters passed to the API are invalid.
	ErrCodeInvalidParameterException = "InvalidParameterException"

	// ErrCodeInvalidResourceException for service response error code
	// "InvalidResourceException".
	//
	// Exception that indicates that the resource is invalid. You might not have
	// access to the resource, or the resource might not exist.
	ErrCodeInvalidResourceException = "InvalidResourceException"

	// ErrCodeLimitsExceededException for service response error code
	// "LimitsExceededException".
	//
	// Exception that indicates that the operation would exceed a limit.
	//
	// Type is the type of limit that would be exceeded.
	//
	// Limit is the threshold that would be exceeded.
	ErrCodeLimitsExceededException = "LimitsExceededException"

	// ErrCodeLockedSubscriptionException for service response error code
	// "LockedSubscriptionException".
	//
	// Exception that indicates that the subscription you are trying to delete has
	// not yet completed the 1-year commitment. You cannot delete this subscription.
	ErrCodeLockedSubscriptionException = "LockedSubscriptionException"

	// ErrCodeOptimisticLockException for service response error code
	// "OptimisticLockException".
	//
	// Exception that indicates that the protection state has been modified by another
	// client. You can retry the request.
	ErrCodeOptimisticLockException = "OptimisticLockException"

	// ErrCodeResourceAlreadyExistsException for service response error code
	// "ResourceAlreadyExistsException".
	//
	// Exception indicating the specified resource already exists.
	ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// Exception indicating the specified resource does not exist.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"
)
View Source
const (
	ServiceName = "shield"    // Service endpoint prefix API calls made to.
	EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
)

Service information constants

Variables

This section is empty.

Functions

This section is empty.

Types

type AttackDetail

type AttackDetail struct {

	// List of counters that describe the attack for the specified time period.
	AttackCounters []*SummarizedCounter `type:"list"`

	// The unique identifier (ID) of the attack.
	AttackId *string `min:"1" type:"string"`

	// The array of AttackProperty objects.
	AttackProperties []*AttackProperty `type:"list"`

	// The time the attack ended, in Unix time in seconds. For more information
	// see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types).
	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`

	// List of mitigation actions taken for the attack.
	Mitigations []*Mitigation `type:"list"`

	// The ARN (Amazon Resource Name) of the resource that was attacked.
	ResourceArn *string `min:"1" type:"string"`

	// The time the attack started, in Unix time in seconds. For more information
	// see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types).
	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`

	// If applicable, additional detail about the resource being attacked, for example,
	// IP address or URL.
	SubResources []*SubResourceSummary `type:"list"`
	// contains filtered or unexported fields
}

The details of a DDoS attack.

func (AttackDetail) GoString

func (s AttackDetail) GoString() string

GoString returns the string representation

func (*AttackDetail) SetAttackCounters

func (s *AttackDetail) SetAttackCounters(v []*SummarizedCounter) *AttackDetail

SetAttackCounters sets the AttackCounters field's value.

func (*AttackDetail) SetAttackId

func (s *AttackDetail) SetAttackId(v string) *AttackDetail

SetAttackId sets the AttackId field's value.

func (*AttackDetail) SetAttackProperties added in v1.12.32

func (s *AttackDetail) SetAttackProperties(v []*AttackProperty) *AttackDetail

SetAttackProperties sets the AttackProperties field's value.

func (*AttackDetail) SetEndTime

func (s *AttackDetail) SetEndTime(v time.Time) *AttackDetail

SetEndTime sets the EndTime field's value.

func (*AttackDetail) SetMitigations

func (s *AttackDetail) SetMitigations(v []*Mitigation) *AttackDetail

SetMitigations sets the Mitigations field's value.

func (*AttackDetail) SetResourceArn

func (s *AttackDetail) SetResourceArn(v string) *AttackDetail

SetResourceArn sets the ResourceArn field's value.

func (*AttackDetail) SetStartTime

func (s *AttackDetail) SetStartTime(v time.Time) *AttackDetail

SetStartTime sets the StartTime field's value.

func (*AttackDetail) SetSubResources

func (s *AttackDetail) SetSubResources(v []*SubResourceSummary) *AttackDetail

SetSubResources sets the SubResources field's value.

func (AttackDetail) String

func (s AttackDetail) String() string

String returns the string representation

type AttackProperty added in v1.12.32

type AttackProperty struct {

	// The type of DDoS event that was observed. NETWORK indicates layer 3 and layer
	// 4 events and APPLICATION indicates layer 7 events.
	AttackLayer *string `type:"string" enum:"AttackLayer"`

	// Defines the DDoS attack property information that is provided.
	AttackPropertyIdentifier *string `type:"string" enum:"AttackPropertyIdentifier"`

	// The array of Contributor objects that includes the top five contributors
	// to an attack.
	TopContributors []*Contributor `type:"list"`

	// The total contributions made to this attack by all contributors, not just
	// the five listed in the TopContributors list.
	Total *int64 `type:"long"`

	// The unit of the Value of the contributions.
	Unit *string `type:"string" enum:"Unit"`
	// contains filtered or unexported fields
}

Details of the described attack.

func (AttackProperty) GoString added in v1.12.32

func (s AttackProperty) GoString() string

GoString returns the string representation

func (*AttackProperty) SetAttackLayer added in v1.12.32

func (s *AttackProperty) SetAttackLayer(v string) *AttackProperty

SetAttackLayer sets the AttackLayer field's value.

func (*AttackProperty) SetAttackPropertyIdentifier added in v1.12.32

func (s *AttackProperty) SetAttackPropertyIdentifier(v string) *AttackProperty

SetAttackPropertyIdentifier sets the AttackPropertyIdentifier field's value.

func (*AttackProperty) SetTopContributors added in v1.12.32

func (s *AttackProperty) SetTopContributors(v []*Contributor) *AttackProperty

SetTopContributors sets the TopContributors field's value.

func (*AttackProperty) SetTotal added in v1.12.32

func (s *AttackProperty) SetTotal(v int64) *AttackProperty

SetTotal sets the Total field's value.

func (*AttackProperty) SetUnit added in v1.12.32

func (s *AttackProperty) SetUnit(v string) *AttackProperty

SetUnit sets the Unit field's value.

func (AttackProperty) String added in v1.12.32

func (s AttackProperty) String() string

String returns the string representation

type AttackSummary

type AttackSummary struct {

	// The unique identifier (ID) of the attack.
	AttackId *string `type:"string"`

	// The list of attacks for a specified time period.
	AttackVectors []*AttackVectorDescription `type:"list"`

	// The end time of the attack, in Unix time in seconds. For more information
	// see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types).
	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`

	// The ARN (Amazon Resource Name) of the resource that was attacked.
	ResourceArn *string `type:"string"`

	// The start time of the attack, in Unix time in seconds. For more information
	// see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types).
	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
	// contains filtered or unexported fields
}

Summarizes all DDoS attacks for a specified time period.

func (AttackSummary) GoString

func (s AttackSummary) GoString() string

GoString returns the string representation

func (*AttackSummary) SetAttackId

func (s *AttackSummary) SetAttackId(v string) *AttackSummary

SetAttackId sets the AttackId field's value.

func (*AttackSummary) SetAttackVectors

func (s *AttackSummary) SetAttackVectors(v []*AttackVectorDescription) *AttackSummary

SetAttackVectors sets the AttackVectors field's value.

func (*AttackSummary) SetEndTime

func (s *AttackSummary) SetEndTime(v time.Time) *AttackSummary

SetEndTime sets the EndTime field's value.

func (*AttackSummary) SetResourceArn

func (s *AttackSummary) SetResourceArn(v string) *AttackSummary

SetResourceArn sets the ResourceArn field's value.

func (*AttackSummary) SetStartTime

func (s *AttackSummary) SetStartTime(v time.Time) *AttackSummary

SetStartTime sets the StartTime field's value.

func (AttackSummary) String

func (s AttackSummary) String() string

String returns the string representation

type AttackVectorDescription

type AttackVectorDescription struct {

	// The attack type. Valid values:
	//
	//    * UDP_TRAFFIC
	//
	//    * UDP_FRAGMENT
	//
	//    * GENERIC_UDP_REFLECTION
	//
	//    * DNS_REFLECTION
	//
	//    * NTP_REFLECTION
	//
	//    * CHARGEN_REFLECTION
	//
	//    * SSDP_REFLECTION
	//
	//    * PORT_MAPPER
	//
	//    * RIP_REFLECTION
	//
	//    * SNMP_REFLECTION
	//
	//    * MSSQL_REFLECTION
	//
	//    * NET_BIOS_REFLECTION
	//
	//    * SYN_FLOOD
	//
	//    * ACK_FLOOD
	//
	//    * REQUEST_FLOOD
	//
	// VectorType is a required field
	VectorType *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Describes the attack.

func (AttackVectorDescription) GoString

func (s AttackVectorDescription) GoString() string

GoString returns the string representation

func (*AttackVectorDescription) SetVectorType

SetVectorType sets the VectorType field's value.

func (AttackVectorDescription) String

func (s AttackVectorDescription) String() string

String returns the string representation

type Contributor added in v1.12.32

type Contributor struct {

	// The name of the contributor. This is dependent on the AttackPropertyIdentifier.
	// For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name
	// could be United States.
	Name *string `type:"string"`

	// The contribution of this contributor expressed in Protection units. For example
	// 10,000.
	Value *int64 `type:"long"`
	// contains filtered or unexported fields
}

A contributor to the attack and their contribution.

func (Contributor) GoString added in v1.12.32

func (s Contributor) GoString() string

GoString returns the string representation

func (*Contributor) SetName added in v1.12.32

func (s *Contributor) SetName(v string) *Contributor

SetName sets the Name field's value.

func (*Contributor) SetValue added in v1.12.32

func (s *Contributor) SetValue(v int64) *Contributor

SetValue sets the Value field's value.

func (Contributor) String added in v1.12.32

func (s Contributor) String() string

String returns the string representation

type CreateProtectionInput

type CreateProtectionInput struct {

	// Friendly name for the Protection you are creating.
	//
	// Name is a required field
	Name *string `min:"1" type:"string" required:"true"`

	// The ARN (Amazon Resource Name) of the resource to be protected.
	//
	// The ARN should be in one of the following formats:
	//
	//    * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
	//
	//    * For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name
	//
	//    * For AWS CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id
	//
	//    * For Amazon Route 53: arn:aws:route53::account-id:hostedzone/hosted-zone-id
	//
	//    * For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (CreateProtectionInput) GoString

func (s CreateProtectionInput) GoString() string

GoString returns the string representation

func (*CreateProtectionInput) SetName

SetName sets the Name field's value.

func (*CreateProtectionInput) SetResourceArn

func (s *CreateProtectionInput) SetResourceArn(v string) *CreateProtectionInput

SetResourceArn sets the ResourceArn field's value.

func (CreateProtectionInput) String

func (s CreateProtectionInput) String() string

String returns the string representation

func (*CreateProtectionInput) Validate

func (s *CreateProtectionInput) Validate() error

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

type CreateProtectionOutput

type CreateProtectionOutput struct {

	// The unique identifier (ID) for the Protection object that is created.
	ProtectionId *string `min:"1" type:"string"`
	// contains filtered or unexported fields
}

func (CreateProtectionOutput) GoString

func (s CreateProtectionOutput) GoString() string

GoString returns the string representation

func (*CreateProtectionOutput) SetProtectionId

func (s *CreateProtectionOutput) SetProtectionId(v string) *CreateProtectionOutput

SetProtectionId sets the ProtectionId field's value.

func (CreateProtectionOutput) String

func (s CreateProtectionOutput) String() string

String returns the string representation

type CreateSubscriptionInput

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

func (CreateSubscriptionInput) GoString

func (s CreateSubscriptionInput) GoString() string

GoString returns the string representation

func (CreateSubscriptionInput) String

func (s CreateSubscriptionInput) String() string

String returns the string representation

type CreateSubscriptionOutput

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

func (CreateSubscriptionOutput) GoString

func (s CreateSubscriptionOutput) GoString() string

GoString returns the string representation

func (CreateSubscriptionOutput) String

func (s CreateSubscriptionOutput) String() string

String returns the string representation

type DeleteProtectionInput

type DeleteProtectionInput struct {

	// The unique identifier (ID) for the Protection object to be deleted.
	//
	// ProtectionId is a required field
	ProtectionId *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DeleteProtectionInput) GoString

func (s DeleteProtectionInput) GoString() string

GoString returns the string representation

func (*DeleteProtectionInput) SetProtectionId

func (s *DeleteProtectionInput) SetProtectionId(v string) *DeleteProtectionInput

SetProtectionId sets the ProtectionId field's value.

func (DeleteProtectionInput) String

func (s DeleteProtectionInput) String() string

String returns the string representation

func (*DeleteProtectionInput) Validate

func (s *DeleteProtectionInput) Validate() error

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

type DeleteProtectionOutput

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

func (DeleteProtectionOutput) GoString

func (s DeleteProtectionOutput) GoString() string

GoString returns the string representation

func (DeleteProtectionOutput) String

func (s DeleteProtectionOutput) String() string

String returns the string representation

type DeleteSubscriptionInput

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

func (DeleteSubscriptionInput) GoString

func (s DeleteSubscriptionInput) GoString() string

GoString returns the string representation

func (DeleteSubscriptionInput) String

func (s DeleteSubscriptionInput) String() string

String returns the string representation

type DeleteSubscriptionOutput

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

func (DeleteSubscriptionOutput) GoString

func (s DeleteSubscriptionOutput) GoString() string

GoString returns the string representation

func (DeleteSubscriptionOutput) String

func (s DeleteSubscriptionOutput) String() string

String returns the string representation

type DescribeAttackInput

type DescribeAttackInput struct {

	// The unique identifier (ID) for the attack that to be described.
	//
	// AttackId is a required field
	AttackId *string `min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DescribeAttackInput) GoString

func (s DescribeAttackInput) GoString() string

GoString returns the string representation

func (*DescribeAttackInput) SetAttackId

func (s *DescribeAttackInput) SetAttackId(v string) *DescribeAttackInput

SetAttackId sets the AttackId field's value.

func (DescribeAttackInput) String

func (s DescribeAttackInput) String() string

String returns the string representation

func (*DescribeAttackInput) Validate

func (s *DescribeAttackInput) Validate() error

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

type DescribeAttackOutput

type DescribeAttackOutput struct {

	// The attack that is described.
	Attack *AttackDetail `type:"structure"`
	// contains filtered or unexported fields
}

func (DescribeAttackOutput) GoString

func (s DescribeAttackOutput) GoString() string

GoString returns the string representation

func (*DescribeAttackOutput) SetAttack

SetAttack sets the Attack field's value.

func (DescribeAttackOutput) String