NAME

Paws::ServiceDiscovery - Perl Interface to AWS AWS Cloud Map

SYNOPSIS

  use Paws;

  my $obj = Paws->service('ServiceDiscovery');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

AWS Cloud Map lets you configure public DNS, private DNS, or HTTP namespaces that your microservice applications run in. When an instance of the service becomes available, you can call the AWS Cloud Map API to register the instance with AWS Cloud Map. For public or private DNS namespaces, AWS Cloud Map automatically creates DNS records and an optional health check. Clients that submit public or private DNS queries, or HTTP requests, for the service receive an answer that contains up to eight healthy records.

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14

METHODS

CreateHttpNamespace

Name => Str
[CreatorRequestId => Str]
[Description => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::CreateHttpNamespace

Returns: a Paws::ServiceDiscovery::CreateHttpNamespaceResponse instance

Creates an HTTP namespace. Service instances that you register using an HTTP namespace can be discovered using a DiscoverInstances request but can't be discovered using DNS.

For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits (http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) in the AWS Cloud Map Developer Guide.

CreatePrivateDnsNamespace

Name => Str
Vpc => Str
[CreatorRequestId => Str]
[Description => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::CreatePrivateDnsNamespace

Returns: a Paws::ServiceDiscovery::CreatePrivateDnsNamespaceResponse instance

Creates a private namespace based on DNS, which will be visible only inside a specified Amazon VPC. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits (http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) in the AWS Cloud Map Developer Guide.

CreatePublicDnsNamespace

Name => Str
[CreatorRequestId => Str]
[Description => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::CreatePublicDnsNamespace

Returns: a Paws::ServiceDiscovery::CreatePublicDnsNamespaceResponse instance

Creates a public namespace based on DNS, which will be visible on the internet. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits (http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) in the AWS Cloud Map Developer Guide.

CreateService

Name => Str
[CreatorRequestId => Str]
[Description => Str]
[DnsConfig => Paws::ServiceDiscovery::DnsConfig]
[HealthCheckConfig => Paws::ServiceDiscovery::HealthCheckConfig]
[HealthCheckCustomConfig => Paws::ServiceDiscovery::HealthCheckCustomConfig]
[NamespaceId => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::CreateService

Returns: a Paws::ServiceDiscovery::CreateServiceResponse instance

Creates a service, which defines the configuration for the following entities:

  • For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route 53:

    • A

    • AAAA

    • A and AAAA

    • SRV

    • CNAME

  • Optionally, a health check

After you create the service, you can submit a RegisterInstance request, and AWS Cloud Map uses the values in the configuration to create the specified entities.

For the current limit on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits (http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) in the AWS Cloud Map Developer Guide.

DeleteNamespace

Id => Str

Each argument is described in detail in: Paws::ServiceDiscovery::DeleteNamespace

Returns: a Paws::ServiceDiscovery::DeleteNamespaceResponse instance

Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails.

DeleteService

Id => Str

Each argument is described in detail in: Paws::ServiceDiscovery::DeleteService

Returns: a Paws::ServiceDiscovery::DeleteServiceResponse instance

Deletes a specified service. If the service still contains one or more registered instances, the request fails.

DeregisterInstance

InstanceId => Str
ServiceId => Str

Each argument is described in detail in: Paws::ServiceDiscovery::DeregisterInstance

Returns: a Paws::ServiceDiscovery::DeregisterInstanceResponse instance

Deletes the Amazon Route 53 DNS records and health check, if any, that AWS Cloud Map created for the specified instance.

DiscoverInstances

NamespaceName => Str
ServiceName => Str
[HealthStatus => Str]
[MaxResults => Int]
[QueryParameters => Paws::ServiceDiscovery::Attributes]

Each argument is described in detail in: Paws::ServiceDiscovery::DiscoverInstances

Returns: a Paws::ServiceDiscovery::DiscoverInstancesResponse instance

Discovers registered instances for a specified namespace and service.

GetInstance

InstanceId => Str
ServiceId => Str

Each argument is described in detail in: Paws::ServiceDiscovery::GetInstance

Returns: a Paws::ServiceDiscovery::GetInstanceResponse instance

Gets information about a specified instance.

GetInstancesHealthStatus

ServiceId => Str
[Instances => ArrayRef[Str|Undef]]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::GetInstancesHealthStatus

Returns: a Paws::ServiceDiscovery::GetInstancesHealthStatusResponse instance

Gets the current health status (Healthy, Unhealthy, or Unknown) of one or more instances that are associated with a specified service.

There is a brief delay between when you register an instance and when the health status for the instance is available.

GetNamespace

Id => Str

Each argument is described in detail in: Paws::ServiceDiscovery::GetNamespace

Returns: a Paws::ServiceDiscovery::GetNamespaceResponse instance

Gets information about a namespace.

GetOperation

OperationId => Str

Each argument is described in detail in: Paws::ServiceDiscovery::GetOperation

Returns: a Paws::ServiceDiscovery::GetOperationResponse instance

Gets information about any operation that returns an operation ID in the response, such as a CreateService request.

To get a list of operations that match specified criteria, see ListOperations.

GetService

Id => Str

Each argument is described in detail in: Paws::ServiceDiscovery::GetService

Returns: a Paws::ServiceDiscovery::GetServiceResponse instance

Gets the settings for a specified service.

ListInstances

ServiceId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::ListInstances

Returns: a Paws::ServiceDiscovery::ListInstancesResponse instance

Lists summary information about the instances that you registered by using a specified service.

ListNamespaces

[Filters => ArrayRef[Paws::ServiceDiscovery::NamespaceFilter]]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::ListNamespaces

Returns: a Paws::ServiceDiscovery::ListNamespacesResponse instance

Lists summary information about the namespaces that were created by the current AWS account.

ListOperations

[Filters => ArrayRef[Paws::ServiceDiscovery::OperationFilter]]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::ListOperations

Returns: a Paws::ServiceDiscovery::ListOperationsResponse instance

Lists operations that match the criteria that you specify.

ListServices

[Filters => ArrayRef[Paws::ServiceDiscovery::ServiceFilter]]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::ListServices

Returns: a Paws::ServiceDiscovery::ListServicesResponse instance

Lists summary information for all the services that are associated with one or more specified namespaces.

RegisterInstance

Attributes => Paws::ServiceDiscovery::Attributes
InstanceId => Str
ServiceId => Str
[CreatorRequestId => Str]

Each argument is described in detail in: Paws::ServiceDiscovery::RegisterInstance

Returns: a Paws::ServiceDiscovery::RegisterInstanceResponse instance

Creates or updates one or more records and, optionally, creates a health check based on the settings in a specified service. When you submit a RegisterInstance request, the following occurs:

  • For each DNS record that you define in the service that is specified by ServiceId, a record is created or updated in the hosted zone that is associated with the corresponding namespace.

  • If the service includes HealthCheckConfig, a health check is created based on the settings in the health check configuration.

  • The health check, if any, is associated with each of the new or updated records.

One RegisterInstance request must complete before you can submit another request and specify the same service ID and instance ID.

For more information, see CreateService.

When AWS Cloud Map receives a DNS query for the specified DNS name, it returns the applicable value:

  • If the health check is healthy: returns all the records

  • If the health check is unhealthy: returns the applicable value for the last healthy instance

  • If you didn't specify a health check configuration: returns all the records

For the current limit on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits (http://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) in the AWS Cloud Map Developer Guide.

UpdateInstanceCustomHealthStatus

InstanceId => Str
ServiceId => Str
Status => Str

Each argument is described in detail in: Paws::ServiceDiscovery::UpdateInstanceCustomHealthStatus

Returns: nothing

Submits a request to change the health status of a custom health check to healthy or unhealthy.

You can use UpdateInstanceCustomHealthStatus to change the status only for custom health checks, which you define using HealthCheckCustomConfig when you create a service. You can't use it to change the status for Route 53 health checks, which you define using HealthCheckConfig.

For more information, see HealthCheckCustomConfig.

UpdateService

Id => Str
Service => Paws::ServiceDiscovery::ServiceChange

Each argument is described in detail in: Paws::ServiceDiscovery::UpdateService

Returns: a Paws::ServiceDiscovery::UpdateServiceResponse instance

Submits a request to perform the following operations:

  • Add or delete DnsRecords configurations

  • Update the TTL setting for existing DnsRecords configurations

  • Add, update, or delete HealthCheckConfig for a specified service

For public and private DNS namespaces, you must specify all DnsRecords configurations (and, optionally, HealthCheckConfig) that you want to appear in the updated service. Any current configurations that don't appear in an UpdateService request are deleted.

When you update the TTL setting for a service, AWS Cloud Map also updates the corresponding settings in all the records and health checks that were created by using the specified service.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

ListAllInstances(sub { },ServiceId => Str, [MaxResults => Int, NextToken => Str])

ListAllInstances(ServiceId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Instances, passing the object as the first parameter, and the string 'Instances' as the second parameter 

If not, it will return a a Paws::ServiceDiscovery::ListInstancesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllNamespaces(sub { },[Filters => ArrayRef[Paws::ServiceDiscovery::NamespaceFilter], MaxResults => Int, NextToken => Str])

ListAllNamespaces([Filters => ArrayRef[Paws::ServiceDiscovery::NamespaceFilter], MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Namespaces, passing the object as the first parameter, and the string 'Namespaces' as the second parameter 

If not, it will return a a Paws::ServiceDiscovery::ListNamespacesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllOperations(sub { },[Filters => ArrayRef[Paws::ServiceDiscovery::OperationFilter], MaxResults => Int, NextToken => Str])

ListAllOperations([Filters => ArrayRef[Paws::ServiceDiscovery::OperationFilter], MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Operations, passing the object as the first parameter, and the string 'Operations' as the second parameter 

If not, it will return a a Paws::ServiceDiscovery::ListOperationsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllServices(sub { },[Filters => ArrayRef[Paws::ServiceDiscovery::ServiceFilter], MaxResults => Int, NextToken => Str])

ListAllServices([Filters => ArrayRef[Paws::ServiceDiscovery::ServiceFilter], MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Services, passing the object as the first parameter, and the string 'Services' as the second parameter 

If not, it will return a a Paws::ServiceDiscovery::ListServicesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues