Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"variables": {
"${LATEST}": "3.363.1"
"${LATEST}": "3.363.2"
},
"endpoints": "https://raw.githubusercontent.com/aws/aws-sdk-php/${LATEST}/src/data/endpoints.json",
"services": {
Expand Down
1 change: 1 addition & 0 deletions src/Service/Route53/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

- AWS api-change: Amazon Route 53 now supports the ISOB West Region for private DNS for Amazon VPCs and cloudwatch healthchecks.
- AWS api-change: Added `us-isob-west-1` region
- AWS api-change: Adds support for new route53 feature: accelerated recovery.

### Dependency bumped

Expand Down
29 changes: 29 additions & 0 deletions src/Service/Route53/src/Enum/AcceleratedRecoveryStatus.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

namespace AsyncAws\Route53\Enum;

final class AcceleratedRecoveryStatus
{
public const DISABLED = 'DISABLED';
public const DISABLE_FAILED = 'DISABLE_FAILED';
public const DISABLING = 'DISABLING';
public const DISABLING_HOSTED_ZONE_LOCKED = 'DISABLING_HOSTED_ZONE_LOCKED';
public const ENABLED = 'ENABLED';
public const ENABLE_FAILED = 'ENABLE_FAILED';
public const ENABLING = 'ENABLING';
public const ENABLING_HOSTED_ZONE_LOCKED = 'ENABLING_HOSTED_ZONE_LOCKED';

public static function exists(string $value): bool
{
return isset([
self::DISABLED => true,
self::DISABLE_FAILED => true,
self::DISABLING => true,
self::DISABLING_HOSTED_ZONE_LOCKED => true,
self::ENABLED => true,
self::ENABLE_FAILED => true,
self::ENABLING => true,
self::ENABLING_HOSTED_ZONE_LOCKED => true,
][$value]);
}
}
18 changes: 18 additions & 0 deletions src/Service/Route53/src/Result/CreateHostedZoneResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
use AsyncAws\Route53\ValueObject\DelegationSet;
use AsyncAws\Route53\ValueObject\HostedZone;
use AsyncAws\Route53\ValueObject\HostedZoneConfig;
use AsyncAws\Route53\ValueObject\HostedZoneFailureReasons;
use AsyncAws\Route53\ValueObject\HostedZoneFeatures;
use AsyncAws\Route53\ValueObject\LinkedService;
use AsyncAws\Route53\ValueObject\VPC;

Expand Down Expand Up @@ -140,6 +142,7 @@ private function populateResultHostedZone(\SimpleXMLElement $xml): HostedZone
'Config' => 0 === $xml->Config->count() ? null : $this->populateResultHostedZoneConfig($xml->Config),
'ResourceRecordSetCount' => (null !== $v = $xml->ResourceRecordSetCount[0]) ? (int) (string) $v : null,
'LinkedService' => 0 === $xml->LinkedService->count() ? null : $this->populateResultLinkedService($xml->LinkedService),
'Features' => 0 === $xml->Features->count() ? null : $this->populateResultHostedZoneFeatures($xml->Features),
]);
}

Expand All @@ -151,6 +154,21 @@ private function populateResultHostedZoneConfig(\SimpleXMLElement $xml): HostedZ
]);
}

private function populateResultHostedZoneFailureReasons(\SimpleXMLElement $xml): HostedZoneFailureReasons
{
return new HostedZoneFailureReasons([
'AcceleratedRecovery' => (null !== $v = $xml->AcceleratedRecovery[0]) ? (string) $v : null,
]);
}

private function populateResultHostedZoneFeatures(\SimpleXMLElement $xml): HostedZoneFeatures
{
return new HostedZoneFeatures([
'AcceleratedRecoveryStatus' => (null !== $v = $xml->AcceleratedRecoveryStatus[0]) ? (string) $v : null,
'FailureReasons' => 0 === $xml->FailureReasons->count() ? null : $this->populateResultHostedZoneFailureReasons($xml->FailureReasons),
]);
}

private function populateResultLinkedService(\SimpleXMLElement $xml): LinkedService
{
return new LinkedService([
Expand Down
18 changes: 18 additions & 0 deletions src/Service/Route53/src/Result/ListHostedZonesByNameResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
use AsyncAws\Core\Result;
use AsyncAws\Route53\ValueObject\HostedZone;
use AsyncAws\Route53\ValueObject\HostedZoneConfig;
use AsyncAws\Route53\ValueObject\HostedZoneFailureReasons;
use AsyncAws\Route53\ValueObject\HostedZoneFeatures;
use AsyncAws\Route53\ValueObject\LinkedService;

/**
Expand Down Expand Up @@ -147,6 +149,7 @@ private function populateResultHostedZone(\SimpleXMLElement $xml): HostedZone
'Config' => 0 === $xml->Config->count() ? null : $this->populateResultHostedZoneConfig($xml->Config),
'ResourceRecordSetCount' => (null !== $v = $xml->ResourceRecordSetCount[0]) ? (int) (string) $v : null,
'LinkedService' => 0 === $xml->LinkedService->count() ? null : $this->populateResultLinkedService($xml->LinkedService),
'Features' => 0 === $xml->Features->count() ? null : $this->populateResultHostedZoneFeatures($xml->Features),
]);
}

Expand All @@ -158,6 +161,21 @@ private function populateResultHostedZoneConfig(\SimpleXMLElement $xml): HostedZ
]);
}

private function populateResultHostedZoneFailureReasons(\SimpleXMLElement $xml): HostedZoneFailureReasons
{
return new HostedZoneFailureReasons([
'AcceleratedRecovery' => (null !== $v = $xml->AcceleratedRecovery[0]) ? (string) $v : null,
]);
}

private function populateResultHostedZoneFeatures(\SimpleXMLElement $xml): HostedZoneFeatures
{
return new HostedZoneFeatures([
'AcceleratedRecoveryStatus' => (null !== $v = $xml->AcceleratedRecoveryStatus[0]) ? (string) $v : null,
'FailureReasons' => 0 === $xml->FailureReasons->count() ? null : $this->populateResultHostedZoneFailureReasons($xml->FailureReasons),
]);
}

/**
* @return HostedZone[]
*/
Expand Down
18 changes: 18 additions & 0 deletions src/Service/Route53/src/Result/ListHostedZonesResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
use AsyncAws\Route53\Route53Client;
use AsyncAws\Route53\ValueObject\HostedZone;
use AsyncAws\Route53\ValueObject\HostedZoneConfig;
use AsyncAws\Route53\ValueObject\HostedZoneFailureReasons;
use AsyncAws\Route53\ValueObject\HostedZoneFeatures;
use AsyncAws\Route53\ValueObject\LinkedService;

/**
Expand Down Expand Up @@ -160,6 +162,7 @@ private function populateResultHostedZone(\SimpleXMLElement $xml): HostedZone
'Config' => 0 === $xml->Config->count() ? null : $this->populateResultHostedZoneConfig($xml->Config),
'ResourceRecordSetCount' => (null !== $v = $xml->ResourceRecordSetCount[0]) ? (int) (string) $v : null,
'LinkedService' => 0 === $xml->LinkedService->count() ? null : $this->populateResultLinkedService($xml->LinkedService),
'Features' => 0 === $xml->Features->count() ? null : $this->populateResultHostedZoneFeatures($xml->Features),
]);
}

Expand All @@ -171,6 +174,21 @@ private function populateResultHostedZoneConfig(\SimpleXMLElement $xml): HostedZ
]);
}

private function populateResultHostedZoneFailureReasons(\SimpleXMLElement $xml): HostedZoneFailureReasons
{
return new HostedZoneFailureReasons([
'AcceleratedRecovery' => (null !== $v = $xml->AcceleratedRecovery[0]) ? (string) $v : null,
]);
}

private function populateResultHostedZoneFeatures(\SimpleXMLElement $xml): HostedZoneFeatures
{
return new HostedZoneFeatures([
'AcceleratedRecoveryStatus' => (null !== $v = $xml->AcceleratedRecoveryStatus[0]) ? (string) $v : null,
'FailureReasons' => 0 === $xml->FailureReasons->count() ? null : $this->populateResultHostedZoneFailureReasons($xml->FailureReasons),
]);
}

/**
* @return HostedZone[]
*/
Expand Down
15 changes: 15 additions & 0 deletions src/Service/Route53/src/ValueObject/HostedZone.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ final class HostedZone
*/
private $linkedService;

/**
* The features configuration for the hosted zone, including accelerated recovery settings and status information.
*
* @var HostedZoneFeatures|null
*/
private $features;

/**
* @param array{
* Id: string,
Expand All @@ -66,6 +73,7 @@ final class HostedZone
* Config?: HostedZoneConfig|array|null,
* ResourceRecordSetCount?: int|null,
* LinkedService?: LinkedService|array|null,
* Features?: HostedZoneFeatures|array|null,
* } $input
*/
public function __construct(array $input)
Expand All @@ -76,6 +84,7 @@ public function __construct(array $input)
$this->config = isset($input['Config']) ? HostedZoneConfig::create($input['Config']) : null;
$this->resourceRecordSetCount = $input['ResourceRecordSetCount'] ?? null;
$this->linkedService = isset($input['LinkedService']) ? LinkedService::create($input['LinkedService']) : null;
$this->features = isset($input['Features']) ? HostedZoneFeatures::create($input['Features']) : null;
}

/**
Expand All @@ -86,6 +95,7 @@ public function __construct(array $input)
* Config?: HostedZoneConfig|array|null,
* ResourceRecordSetCount?: int|null,
* LinkedService?: LinkedService|array|null,
* Features?: HostedZoneFeatures|array|null,
* }|HostedZone $input
*/
public static function create($input): self
Expand All @@ -103,6 +113,11 @@ public function getConfig(): ?HostedZoneConfig
return $this->config;
}

public function getFeatures(): ?HostedZoneFeatures
{
return $this->features;
}

public function getId(): string
{
return $this->id;
Expand Down
41 changes: 41 additions & 0 deletions src/Service/Route53/src/ValueObject/HostedZoneFailureReasons.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?php

namespace AsyncAws\Route53\ValueObject;

/**
* Contains information about why certain features failed to be enabled or configured for the hosted zone.
*/
final class HostedZoneFailureReasons
{
/**
* The reason why accelerated recovery failed to be enabled or disabled for the hosted zone, if applicable.
*
* @var string|null
*/
private $acceleratedRecovery;

/**
* @param array{
* AcceleratedRecovery?: string|null,
* } $input
*/
public function __construct(array $input)
{
$this->acceleratedRecovery = $input['AcceleratedRecovery'] ?? null;
}

/**
* @param array{
* AcceleratedRecovery?: string|null,
* }|HostedZoneFailureReasons $input
*/
public static function create($input): self
{
return $input instanceof self ? $input : new self($input);
}

public function getAcceleratedRecovery(): ?string
{
return $this->acceleratedRecovery;
}
}
62 changes: 62 additions & 0 deletions src/Service/Route53/src/ValueObject/HostedZoneFeatures.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?php

namespace AsyncAws\Route53\ValueObject;

use AsyncAws\Route53\Enum\AcceleratedRecoveryStatus;

/**
* Represents the features configuration for a hosted zone, including the status of various features and any associated
* failure reasons.
*/
final class HostedZoneFeatures
{
/**
* The current status of accelerated recovery for the hosted zone.
*
* @var AcceleratedRecoveryStatus::*|null
*/
private $acceleratedRecoveryStatus;

/**
* Information about any failures that occurred when attempting to enable or configure features for the hosted zone.
*
* @var HostedZoneFailureReasons|null
*/
private $failureReasons;

/**
* @param array{
* AcceleratedRecoveryStatus?: AcceleratedRecoveryStatus::*|null,
* FailureReasons?: HostedZoneFailureReasons|array|null,
* } $input
*/
public function __construct(array $input)
{
$this->acceleratedRecoveryStatus = $input['AcceleratedRecoveryStatus'] ?? null;
$this->failureReasons = isset($input['FailureReasons']) ? HostedZoneFailureReasons::create($input['FailureReasons']) : null;
}

/**
* @param array{
* AcceleratedRecoveryStatus?: AcceleratedRecoveryStatus::*|null,
* FailureReasons?: HostedZoneFailureReasons|array|null,
* }|HostedZoneFeatures $input
*/
public static function create($input): self
{
return $input instanceof self ? $input : new self($input);
}

/**
* @return AcceleratedRecoveryStatus::*|null
*/
public function getAcceleratedRecoveryStatus(): ?string
{
return $this->acceleratedRecoveryStatus;
}

public function getFailureReasons(): ?HostedZoneFailureReasons
{
return $this->failureReasons;
}
}