aws_ecs_service

package
v5.45.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Args

type Args struct {
	// Cluster: string, optional
	Cluster terra.StringValue `hcl:"cluster,attr"`
	// DeploymentMaximumPercent: number, optional
	DeploymentMaximumPercent terra.NumberValue `hcl:"deployment_maximum_percent,attr"`
	// DeploymentMinimumHealthyPercent: number, optional
	DeploymentMinimumHealthyPercent terra.NumberValue `hcl:"deployment_minimum_healthy_percent,attr"`
	// DesiredCount: number, optional
	DesiredCount terra.NumberValue `hcl:"desired_count,attr"`
	// EnableEcsManagedTags: bool, optional
	EnableEcsManagedTags terra.BoolValue `hcl:"enable_ecs_managed_tags,attr"`
	// EnableExecuteCommand: bool, optional
	EnableExecuteCommand terra.BoolValue `hcl:"enable_execute_command,attr"`
	// ForceNewDeployment: bool, optional
	ForceNewDeployment terra.BoolValue `hcl:"force_new_deployment,attr"`
	// HealthCheckGracePeriodSeconds: number, optional
	HealthCheckGracePeriodSeconds terra.NumberValue `hcl:"health_check_grace_period_seconds,attr"`
	// IamRole: string, optional
	IamRole terra.StringValue `hcl:"iam_role,attr"`
	// Id: string, optional
	Id terra.StringValue `hcl:"id,attr"`
	// LaunchType: string, optional
	LaunchType terra.StringValue `hcl:"launch_type,attr"`
	// Name: string, required
	Name terra.StringValue `hcl:"name,attr" validate:"required"`
	// PlatformVersion: string, optional
	PlatformVersion terra.StringValue `hcl:"platform_version,attr"`
	// PropagateTags: string, optional
	PropagateTags terra.StringValue `hcl:"propagate_tags,attr"`
	// SchedulingStrategy: string, optional
	SchedulingStrategy terra.StringValue `hcl:"scheduling_strategy,attr"`
	// Tags: map of string, optional
	Tags terra.MapValue[terra.StringValue] `hcl:"tags,attr"`
	// TagsAll: map of string, optional
	TagsAll terra.MapValue[terra.StringValue] `hcl:"tags_all,attr"`
	// TaskDefinition: string, optional
	TaskDefinition terra.StringValue `hcl:"task_definition,attr"`
	// Triggers: map of string, optional
	Triggers terra.MapValue[terra.StringValue] `hcl:"triggers,attr"`
	// WaitForSteadyState: bool, optional
	WaitForSteadyState terra.BoolValue `hcl:"wait_for_steady_state,attr"`
	// CapacityProviderStrategy: min=0
	CapacityProviderStrategy []CapacityProviderStrategy `hcl:"capacity_provider_strategy,block" validate:"min=0"`
	// DeploymentCircuitBreaker: optional
	DeploymentCircuitBreaker *DeploymentCircuitBreaker `hcl:"deployment_circuit_breaker,block"`
	// DeploymentController: optional
	DeploymentController *DeploymentController `hcl:"deployment_controller,block"`
	// LoadBalancer: min=0
	LoadBalancer []LoadBalancer `hcl:"load_balancer,block" validate:"min=0"`
	// NetworkConfiguration: optional
	NetworkConfiguration *NetworkConfiguration `hcl:"network_configuration,block"`
	// OrderedPlacementStrategy: min=0,max=5
	OrderedPlacementStrategy []OrderedPlacementStrategy `hcl:"ordered_placement_strategy,block" validate:"min=0,max=5"`
	// PlacementConstraints: min=0,max=10
	PlacementConstraints []PlacementConstraints `hcl:"placement_constraints,block" validate:"min=0,max=10"`
	// ServiceConnectConfiguration: optional
	ServiceConnectConfiguration *ServiceConnectConfiguration `hcl:"service_connect_configuration,block"`
	// ServiceRegistries: optional
	ServiceRegistries *ServiceRegistries `hcl:"service_registries,block"`
	// Timeouts: optional
	Timeouts *Timeouts `hcl:"timeouts,block"`
}

Args contains the configurations for aws_ecs_service.

type CapacityProviderStrategy

type CapacityProviderStrategy struct {
	// Base: number, optional
	Base terra.NumberValue `hcl:"base,attr"`
	// CapacityProvider: string, required
	CapacityProvider terra.StringValue `hcl:"capacity_provider,attr" validate:"required"`
	// Weight: number, optional
	Weight terra.NumberValue `hcl:"weight,attr"`
}

type CapacityProviderStrategyAttributes

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

func (CapacityProviderStrategyAttributes) Base

func (CapacityProviderStrategyAttributes) CapacityProvider

func (cps CapacityProviderStrategyAttributes) CapacityProvider() terra.StringValue

func (CapacityProviderStrategyAttributes) InternalRef

func (CapacityProviderStrategyAttributes) InternalTokens

func (cps CapacityProviderStrategyAttributes) InternalTokens() (hclwrite.Tokens, error)

func (CapacityProviderStrategyAttributes) InternalWithRef

func (CapacityProviderStrategyAttributes) Weight

type CapacityProviderStrategyState

type CapacityProviderStrategyState struct {
	Base             float64 `json:"base"`
	CapacityProvider string  `json:"capacity_provider"`
	Weight           float64 `json:"weight"`
}

type DataArgs

type DataArgs struct {
	// ClusterArn: string, required
	ClusterArn terra.StringValue `hcl:"cluster_arn,attr" validate:"required"`
	// Id: string, optional
	Id terra.StringValue `hcl:"id,attr"`
	// ServiceName: string, required
	ServiceName terra.StringValue `hcl:"service_name,attr" validate:"required"`
	// Tags: map of string, optional
	Tags terra.MapValue[terra.StringValue] `hcl:"tags,attr"`
}

DataArgs contains the configurations for aws_ecs_service.

type DataSource

type DataSource struct {
	Name string
	Args DataArgs
}

DataSource represents the Terraform data resource aws_ecs_service.

func Data

func Data(name string, args DataArgs) *DataSource

Data creates a new instance of DataSource.

func (*DataSource) Attributes

func (aes *DataSource) Attributes() dataAwsEcsServiceAttributes

Attributes returns the attributes for DataSource.

func (*DataSource) Configuration

func (aes *DataSource) Configuration() interface{}

Configuration returns the configuration (args) for DataSource.

func (*DataSource) DataSource

func (aes *DataSource) DataSource() string

DataSource returns the Terraform object type for DataSource.

func (*DataSource) LocalName

func (aes *DataSource) LocalName() string

LocalName returns the local name for DataSource.

type DeploymentCircuitBreaker

type DeploymentCircuitBreaker struct {
	// Enable: bool, required
	Enable terra.BoolValue `hcl:"enable,attr" validate:"required"`
	// Rollback: bool, required
	Rollback terra.BoolValue `hcl:"rollback,attr" validate:"required"`
}

type DeploymentCircuitBreakerAttributes

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

func (DeploymentCircuitBreakerAttributes) Enable

func (DeploymentCircuitBreakerAttributes) InternalRef

func (DeploymentCircuitBreakerAttributes) InternalTokens

func (dcb DeploymentCircuitBreakerAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DeploymentCircuitBreakerAttributes) InternalWithRef

func (DeploymentCircuitBreakerAttributes) Rollback

type DeploymentCircuitBreakerState

type DeploymentCircuitBreakerState struct {
	Enable   bool `json:"enable"`
	Rollback bool `json:"rollback"`
}

type DeploymentController

type DeploymentController struct {
	// Type: string, optional
	Type terra.StringValue `hcl:"type,attr"`
}

type DeploymentControllerAttributes

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

func (DeploymentControllerAttributes) InternalRef

func (DeploymentControllerAttributes) InternalTokens

func (dc DeploymentControllerAttributes) InternalTokens() (hclwrite.Tokens, error)

func (DeploymentControllerAttributes) InternalWithRef

func (DeploymentControllerAttributes) Type

type DeploymentControllerState

type DeploymentControllerState struct {
	Type string `json:"type"`
}

type LoadBalancer

type LoadBalancer struct {
	// ContainerName: string, required
	ContainerName terra.StringValue `hcl:"container_name,attr" validate:"required"`
	// ContainerPort: number, required
	ContainerPort terra.NumberValue `hcl:"container_port,attr" validate:"required"`
	// ElbName: string, optional
	ElbName terra.StringValue `hcl:"elb_name,attr"`
	// TargetGroupArn: string, optional
	TargetGroupArn terra.StringValue `hcl:"target_group_arn,attr"`
}

type LoadBalancerAttributes

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

func (LoadBalancerAttributes) ContainerName

func (lb LoadBalancerAttributes) ContainerName() terra.StringValue

func (LoadBalancerAttributes) ContainerPort

func (lb LoadBalancerAttributes) ContainerPort() terra.NumberValue

func (LoadBalancerAttributes) ElbName

func (LoadBalancerAttributes) InternalRef

func (lb LoadBalancerAttributes) InternalRef() (terra.Reference, error)

func (LoadBalancerAttributes) InternalTokens

func (lb LoadBalancerAttributes) InternalTokens() (hclwrite.Tokens, error)

func (LoadBalancerAttributes) InternalWithRef

func (LoadBalancerAttributes) TargetGroupArn

func (lb LoadBalancerAttributes) TargetGroupArn() terra.StringValue

type LoadBalancerState

type LoadBalancerState struct {
	ContainerName  string  `json:"container_name"`
	ContainerPort  float64 `json:"container_port"`
	ElbName        string  `json:"elb_name"`
	TargetGroupArn string  `json:"target_group_arn"`
}

type NetworkConfiguration

type NetworkConfiguration struct {
	// AssignPublicIp: bool, optional
	AssignPublicIp terra.BoolValue `hcl:"assign_public_ip,attr"`
	// SecurityGroups: set of string, optional
	SecurityGroups terra.SetValue[terra.StringValue] `hcl:"security_groups,attr"`
	// Subnets: set of string, required
	Subnets terra.SetValue[terra.StringValue] `hcl:"subnets,attr" validate:"required"`
}

type NetworkConfigurationAttributes

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

func (NetworkConfigurationAttributes) AssignPublicIp

func (nc NetworkConfigurationAttributes) AssignPublicIp() terra.BoolValue

func (NetworkConfigurationAttributes) InternalRef

func (NetworkConfigurationAttributes) InternalTokens

func (nc NetworkConfigurationAttributes) InternalTokens() (hclwrite.Tokens, error)

func (NetworkConfigurationAttributes) InternalWithRef

func (NetworkConfigurationAttributes) SecurityGroups

func (NetworkConfigurationAttributes) Subnets

type NetworkConfigurationState

type NetworkConfigurationState struct {
	AssignPublicIp bool     `json:"assign_public_ip"`
	SecurityGroups []string `json:"security_groups"`
	Subnets        []string `json:"subnets"`
}

type OrderedPlacementStrategy

type OrderedPlacementStrategy struct {
	// Field: string, optional
	Field terra.StringValue `hcl:"field,attr"`
	// Type: string, required
	Type terra.StringValue `hcl:"type,attr" validate:"required"`
}

type OrderedPlacementStrategyAttributes

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

func (OrderedPlacementStrategyAttributes) Field

func (OrderedPlacementStrategyAttributes) InternalRef

func (OrderedPlacementStrategyAttributes) InternalTokens

func (ops OrderedPlacementStrategyAttributes) InternalTokens() (hclwrite.Tokens, error)

func (OrderedPlacementStrategyAttributes) InternalWithRef

func (OrderedPlacementStrategyAttributes) Type

type OrderedPlacementStrategyState

type OrderedPlacementStrategyState struct {
	Field string `json:"field"`
	Type  string `json:"type"`
}

type PlacementConstraints

type PlacementConstraints struct {
	// Expression: string, optional
	Expression terra.StringValue `hcl:"expression,attr"`
	// Type: string, required
	Type terra.StringValue `hcl:"type,attr" validate:"required"`
}

type PlacementConstraintsAttributes

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

func (PlacementConstraintsAttributes) Expression

func (PlacementConstraintsAttributes) InternalRef

func (PlacementConstraintsAttributes) InternalTokens

func (pc PlacementConstraintsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (PlacementConstraintsAttributes) InternalWithRef

func (PlacementConstraintsAttributes) Type

type PlacementConstraintsState

type PlacementConstraintsState struct {
	Expression string `json:"expression"`
	Type       string `json:"type"`
}

type Resource

type Resource struct {
	Name string
	Args Args

	DependsOn terra.Dependencies
	Lifecycle *terra.Lifecycle
	// contains filtered or unexported fields
}

Resource represents the Terraform resource aws_ecs_service.

func New

func New(name string, args Args) *Resource

New creates a new instance of Resource.

func (*Resource) Attributes

func (aes *Resource) Attributes() awsEcsServiceAttributes

Attributes returns the attributes for Resource.

func (*Resource) Configuration

func (aes *Resource) Configuration() interface{}

Configuration returns the configuration (args) for Resource.

func (*Resource) DependOn

func (aes *Resource) DependOn() terra.Reference

DependOn is used for other resources to depend on Resource.

func (*Resource) Dependencies

func (aes *Resource) Dependencies() terra.Dependencies

Dependencies returns the list of resources Resource depends_on.

func (*Resource) ImportState

func (aes *Resource) ImportState(state io.Reader) error

ImportState imports the given attribute values into Resource's state.

func (*Resource) LifecycleManagement

func (aes *Resource) LifecycleManagement() *terra.Lifecycle

LifecycleManagement returns the lifecycle block for Resource.

func (*Resource) LocalName

func (aes *Resource) LocalName() string

LocalName returns the local name for Resource.

func (*Resource) State

func (aes *Resource) State() (*awsEcsServiceState, bool)

State returns the state and a bool indicating if Resource has state.

func (*Resource) StateMust

func (aes *Resource) StateMust() *awsEcsServiceState

StateMust returns the state for Resource. Panics if the state is nil.

func (*Resource) Type

func (aes *Resource) Type() string

Type returns the Terraform object type for Resource.

type ServiceConnectConfiguration

type ServiceConnectConfiguration struct {
	// Enabled: bool, required
	Enabled terra.BoolValue `hcl:"enabled,attr" validate:"required"`
	// Namespace: string, optional
	Namespace terra.StringValue `hcl:"namespace,attr"`
	// ServiceConnectConfigurationLogConfiguration: optional
	LogConfiguration *ServiceConnectConfigurationLogConfiguration `hcl:"log_configuration,block"`
	// ServiceConnectConfigurationService: optional
	Service *ServiceConnectConfigurationService `hcl:"service,block"`
}

type ServiceConnectConfigurationAttributes

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

func (ServiceConnectConfigurationAttributes) Enabled

func (ServiceConnectConfigurationAttributes) InternalRef

func (ServiceConnectConfigurationAttributes) InternalTokens

func (ServiceConnectConfigurationAttributes) InternalWithRef

func (ServiceConnectConfigurationAttributes) LogConfiguration

func (ServiceConnectConfigurationAttributes) Namespace

func (ServiceConnectConfigurationAttributes) Service

type ServiceConnectConfigurationLogConfiguration

type ServiceConnectConfigurationLogConfiguration struct {
	// LogDriver: string, optional
	LogDriver terra.StringValue `hcl:"log_driver,attr"`
	// Options: map of string, optional
	Options terra.MapValue[terra.StringValue] `hcl:"options,attr"`
	// ServiceConnectConfigurationLogConfigurationSecretOption: min=0
	SecretOption []ServiceConnectConfigurationLogConfigurationSecretOption `hcl:"secret_option,block" validate:"min=0"`
}

type ServiceConnectConfigurationLogConfigurationAttributes

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

func (ServiceConnectConfigurationLogConfigurationAttributes) InternalRef

func (ServiceConnectConfigurationLogConfigurationAttributes) InternalTokens

func (ServiceConnectConfigurationLogConfigurationAttributes) InternalWithRef

func (ServiceConnectConfigurationLogConfigurationAttributes) LogDriver

func (ServiceConnectConfigurationLogConfigurationAttributes) Options

type ServiceConnectConfigurationLogConfigurationSecretOption

type ServiceConnectConfigurationLogConfigurationSecretOption struct {
	// Name: string, required
	Name terra.StringValue `hcl:"name,attr" validate:"required"`
	// ValueFrom: string, required
	ValueFrom terra.StringValue `hcl:"value_from,attr" validate:"required"`
}

type ServiceConnectConfigurationLogConfigurationSecretOptionAttributes

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

func (ServiceConnectConfigurationLogConfigurationSecretOptionAttributes) InternalRef

func (ServiceConnectConfigurationLogConfigurationSecretOptionAttributes) InternalTokens

func (ServiceConnectConfigurationLogConfigurationSecretOptionAttributes) InternalWithRef

func (ServiceConnectConfigurationLogConfigurationSecretOptionAttributes) Name

func (ServiceConnectConfigurationLogConfigurationSecretOptionAttributes) ValueFrom

type ServiceConnectConfigurationLogConfigurationSecretOptionState

type ServiceConnectConfigurationLogConfigurationSecretOptionState struct {
	Name      string `json:"name"`
	ValueFrom string `json:"value_from"`
}

type ServiceConnectConfigurationLogConfigurationState

type ServiceConnectConfigurationLogConfigurationState struct {
	LogDriver    string                                                         `json:"log_driver"`
	Options      map[string]string                                              `json:"options"`
	SecretOption []ServiceConnectConfigurationLogConfigurationSecretOptionState `json:"secret_option"`
}

type ServiceConnectConfigurationService

type ServiceConnectConfigurationService struct {
	// DiscoveryName: string, optional
	DiscoveryName terra.StringValue `hcl:"discovery_name,attr"`
	// IngressPortOverride: number, optional
	IngressPortOverride terra.NumberValue `hcl:"ingress_port_override,attr"`
	// PortName: string, required
	PortName terra.StringValue `hcl:"port_name,attr" validate:"required"`
	// ServiceConnectConfigurationServiceClientAlias: min=1
	ClientAlias []ServiceConnectConfigurationServiceClientAlias `hcl:"client_alias,block" validate:"min=1"`
}

type ServiceConnectConfigurationServiceAttributes

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

func (ServiceConnectConfigurationServiceAttributes) DiscoveryName

func (ServiceConnectConfigurationServiceAttributes) IngressPortOverride

func (ServiceConnectConfigurationServiceAttributes) InternalRef

func (ServiceConnectConfigurationServiceAttributes) InternalTokens

func (ServiceConnectConfigurationServiceAttributes) InternalWithRef

func (ServiceConnectConfigurationServiceAttributes) PortName

type ServiceConnectConfigurationServiceClientAlias

type ServiceConnectConfigurationServiceClientAlias struct {
	// DnsName: string, optional
	DnsName terra.StringValue `hcl:"dns_name,attr"`
	// Port: number, required
	Port terra.NumberValue `hcl:"port,attr" validate:"required"`
}

type ServiceConnectConfigurationServiceClientAliasAttributes

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

func (ServiceConnectConfigurationServiceClientAliasAttributes) DnsName

func (ServiceConnectConfigurationServiceClientAliasAttributes) InternalRef

func (ServiceConnectConfigurationServiceClientAliasAttributes) InternalTokens

func (ServiceConnectConfigurationServiceClientAliasAttributes) InternalWithRef

func (ServiceConnectConfigurationServiceClientAliasAttributes) Port

type ServiceConnectConfigurationServiceClientAliasState

type ServiceConnectConfigurationServiceClientAliasState struct {
	DnsName string  `json:"dns_name"`
	Port    float64 `json:"port"`
}

type ServiceConnectConfigurationServiceState

type ServiceConnectConfigurationServiceState struct {
	DiscoveryName       string                                               `json:"discovery_name"`
	IngressPortOverride float64                                              `json:"ingress_port_override"`
	PortName            string                                               `json:"port_name"`
	ClientAlias         []ServiceConnectConfigurationServiceClientAliasState `json:"client_alias"`
}

type ServiceConnectConfigurationState

type ServiceConnectConfigurationState struct {
	Enabled          bool                                               `json:"enabled"`
	Namespace        string                                             `json:"namespace"`
	LogConfiguration []ServiceConnectConfigurationLogConfigurationState `json:"log_configuration"`
	Service          []ServiceConnectConfigurationServiceState          `json:"service"`
}

type ServiceRegistries

type ServiceRegistries struct {
	// ContainerName: string, optional
	ContainerName terra.StringValue `hcl:"container_name,attr"`
	// ContainerPort: number, optional
	ContainerPort terra.NumberValue `hcl:"container_port,attr"`
	// Port: number, optional
	Port terra.NumberValue `hcl:"port,attr"`
	// RegistryArn: string, required
	RegistryArn terra.StringValue `hcl:"registry_arn,attr" validate:"required"`
}

type ServiceRegistriesAttributes

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

func (ServiceRegistriesAttributes) ContainerName

func (sr ServiceRegistriesAttributes) ContainerName() terra.StringValue

func (ServiceRegistriesAttributes) ContainerPort

func (sr ServiceRegistriesAttributes) ContainerPort() terra.NumberValue

func (ServiceRegistriesAttributes) InternalRef

func (sr ServiceRegistriesAttributes) InternalRef() (terra.Reference, error)

func (ServiceRegistriesAttributes) InternalTokens

func (sr ServiceRegistriesAttributes) InternalTokens() (hclwrite.Tokens, error)

func (ServiceRegistriesAttributes) InternalWithRef

func (ServiceRegistriesAttributes) Port

func (ServiceRegistriesAttributes) RegistryArn

type ServiceRegistriesState

type ServiceRegistriesState struct {
	ContainerName string  `json:"container_name"`
	ContainerPort float64 `json:"container_port"`
	Port          float64 `json:"port"`
	RegistryArn   string  `json:"registry_arn"`
}

type Timeouts

type Timeouts struct {
	// Create: string, optional
	Create terra.StringValue `hcl:"create,attr"`
	// Delete: string, optional
	Delete terra.StringValue `hcl:"delete,attr"`
	// Update: string, optional
	Update terra.StringValue `hcl:"update,attr"`
}

type TimeoutsAttributes

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

func (TimeoutsAttributes) Create

func (TimeoutsAttributes) Delete

func (TimeoutsAttributes) InternalRef

func (t TimeoutsAttributes) InternalRef() (terra.Reference, error)

func (TimeoutsAttributes) InternalTokens

func (t TimeoutsAttributes) InternalTokens() (hclwrite.Tokens, error)

func (TimeoutsAttributes) InternalWithRef

func (t TimeoutsAttributes) InternalWithRef(ref terra.Reference) TimeoutsAttributes

func (TimeoutsAttributes) Update

type TimeoutsState

type TimeoutsState struct {
	Create string `json:"create"`
	Delete string `json:"delete"`
	Update string `json:"update"`
}

Jump to

Keyboard shortcuts

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