import * as core from "@terrascript/core"; export interface DnsRecordsArgs extends core.SchemaArgs { ttl: number | core.NumberOut; type: string | core.StringOut; } export class DnsRecords extends core.Schema { @core.attr(Number, { computed: true }) public ttl!: number | core.NumberOut; @core.attr(String, { computed: true }) public type!: string | core.StringOut; } export interface DnsConfigArgs extends core.SchemaArgs { dnsRecords: core.Array | core.ArrayOut; namespaceId: string | core.StringOut; routingPolicy: string | core.StringOut; } export class DnsConfig extends core.Schema { @core.attr(DnsRecords, { computed: true, kind: "array" }) public dnsRecords!: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public namespaceId!: string | core.StringOut; @core.attr(String, { computed: true }) public routingPolicy!: string | core.StringOut; } export interface HealthCheckCustomConfigArgs extends core.SchemaArgs { failureThreshold: number | core.NumberOut; } export class HealthCheckCustomConfig extends core.Schema { @core.attr(Number, { computed: true }) public failureThreshold!: number | core.NumberOut; } export interface HealthCheckConfigArgs extends core.SchemaArgs { failureThreshold: number | core.NumberOut; resourcePath: string | core.StringOut; type: string | core.StringOut; } export class HealthCheckConfig extends core.Schema { @core.attr(Number, { computed: true }) public failureThreshold!: number | core.NumberOut; @core.attr(String, { computed: true }) public resourcePath!: string | core.StringOut; @core.attr(String, { computed: true }) public type!: string | core.StringOut; } export interface DsServiceDiscoveryServiceArgs { /** * (Required) The name of the service. */ name: string | core.StringOut; /** * (Required) The ID of the namespace that the service belongs to. */ namespaceId: string | core.StringOut; /** * A map of tags to assign to the service. If configured with a provider [`default_tags` configuration * block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration- * block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export class DsServiceDiscoveryService extends core.Data { /** * The ARN of the service. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The description of the service. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; /** * A complex type that contains information about the resource record sets that you want Amazon Route 5 * 3 to create when you register an instance. */ @core.attr(DnsConfig, { computed: true, kind: "array" }) public dnsConfig!: core.Array | core.ArrayOut; /** * A complex type that contains settings for an optional health check. Only for Public DNS namespaces. */ @core.attr(HealthCheckConfig, { computed: true, kind: "array" }) public healthCheckConfig!: | core.Array | core.ArrayOut; /** * A complex type that contains settings for ECS managed health checks. */ @core.attr(HealthCheckCustomConfig, { computed: true, kind: "array" }) public healthCheckCustomConfig!: | core.Array | core.ArrayOut; /** * The ID of the service. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The name of the service. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required) The ID of the namespace that the service belongs to. */ @core.attr(String) public namespaceId!: string | core.StringOut; /** * A map of tags to assign to the service. If configured with a provider [`default_tags` configuration * block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration- * block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: DsServiceDiscoveryServiceArgs) { super(name, "aws_service_discovery_service", args); } public override getNamespace(): string { return "aws_cloud_map"; } }