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.359.0"
"${LATEST}": "3.359.4"
},
"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/Kinesis/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

- AWS api-change: Added `us-isob-west-1` region
- AWS api-change: Adds support for record sizes up to 10MiB and introduces new UpdateMaxRecordSize API to modify stream record size limits. Adds record size parameters to existing CreateStream and DescribeStreamSummary APIs for request and response payloads respectively.
- AWS api-change: Adds support to configure warm throughput for on-demand streams in new UpdateStreamWarmThroughput API and existing CreateStream API and UpdateStreamMode API.

### Dependency bumped

Expand Down
26 changes: 26 additions & 0 deletions src/Service/Kinesis/src/Input/CreateStreamInput.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ final class CreateStreamInput extends Input
*/
private $tags;

/**
* The target warm throughput in MB/s that the stream should be scaled to handle. This represents the throughput
* capacity that will be immediately available for write operations.
*
* @var int|null
*/
private $warmThroughputMiBps;

/**
* The maximum record size of a single record in kibibyte (KiB) that you can write to, and read from a stream.
*
Expand All @@ -61,6 +69,7 @@ final class CreateStreamInput extends Input
* ShardCount?: int|null,
* StreamModeDetails?: StreamModeDetails|array|null,
* Tags?: array<string, string>|null,
* WarmThroughputMiBps?: int|null,
* MaxRecordSizeInKiB?: int|null,
* '@region'?: string|null,
* } $input
Expand All @@ -71,6 +80,7 @@ public function __construct(array $input = [])
$this->shardCount = $input['ShardCount'] ?? null;
$this->streamModeDetails = isset($input['StreamModeDetails']) ? StreamModeDetails::create($input['StreamModeDetails']) : null;
$this->tags = $input['Tags'] ?? null;
$this->warmThroughputMiBps = $input['WarmThroughputMiBps'] ?? null;
$this->maxRecordSizeInKiB = $input['MaxRecordSizeInKiB'] ?? null;
parent::__construct($input);
}
Expand All @@ -81,6 +91,7 @@ public function __construct(array $input = [])
* ShardCount?: int|null,
* StreamModeDetails?: StreamModeDetails|array|null,
* Tags?: array<string, string>|null,
* WarmThroughputMiBps?: int|null,
* MaxRecordSizeInKiB?: int|null,
* '@region'?: string|null,
* }|CreateStreamInput $input
Expand Down Expand Up @@ -118,6 +129,11 @@ public function getTags(): array
return $this->tags ?? [];
}

public function getWarmThroughputMiBps(): ?int
{
return $this->warmThroughputMiBps;
}

/**
* @internal
*/
Expand Down Expand Up @@ -182,6 +198,13 @@ public function setTags(array $value): self
return $this;
}

public function setWarmThroughputMiBps(?int $value): self
{
$this->warmThroughputMiBps = $value;

return $this;
}

private function requestBody(): array
{
$payload = [];
Expand All @@ -205,6 +228,9 @@ private function requestBody(): array
}
}
}
if (null !== $v = $this->warmThroughputMiBps) {
$payload['WarmThroughputMiBps'] = $v;
}
if (null !== $v = $this->maxRecordSizeInKiB) {
$payload['MaxRecordSizeInKiB'] = $v;
}
Expand Down
23 changes: 17 additions & 6 deletions src/Service/Kinesis/src/KinesisClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -127,10 +127,17 @@ public function addTagsToStream($input): Result
* You can create your data stream using either on-demand or provisioned capacity mode. Data streams with an on-demand
* mode require no capacity planning and automatically scale to handle gigabytes of write and read throughput per
* minute. With the on-demand mode, Kinesis Data Streams automatically manages the shards in order to provide the
* necessary throughput. For the data streams with a provisioned mode, you must specify the number of shards for the
* data stream. Each shard can support reads up to five transactions per second, up to a maximum data read total of 2
* MiB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1
* MiB per second. If the amount of data input increases or decreases, you can add or remove shards.
* necessary throughput.
*
* If you'd still like to proactively scale your on-demand data stream’s capacity, you can unlock the warm throughput
* feature for on-demand data streams by enabling `MinimumThroughputBillingCommitment` for your account. Once your
* account has `MinimumThroughputBillingCommitment` enabled, you can specify the warm throughput in MiB per second that
* your stream can support in writes.
*
* For the data streams with a provisioned mode, you must specify the number of shards for the data stream. Each shard
* can support reads up to five transactions per second, up to a maximum data read total of 2 MiB per second. Each shard
* can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second. If the
* amount of data input increases or decreases, you can add or remove shards.
*
* The stream name identifies the stream. The name is scoped to the Amazon Web Services account used by the application.
* It is also scoped by Amazon Web Services Region. That is, two streams in two different accounts can have the same
Expand All @@ -145,8 +152,9 @@ public function addTagsToStream($input): Result
* - Have more than five streams in the `CREATING` state at any point in time.
* - Create more shards than are authorized for your account.
*
* For the default shard limit for an Amazon Web Services account, see Amazon Kinesis Data Streams Limits [^1] in the
* *Amazon Kinesis Data Streams Developer Guide*. To increase this limit, contact Amazon Web Services Support [^2].
* For the default shard or on-demand throughput limits for an Amazon Web Services account, see Amazon Kinesis Data
* Streams Limits [^1] in the *Amazon Kinesis Data Streams Developer Guide*. To increase this limit, contact Amazon Web
* Services Support [^2].
*
* You can use DescribeStreamSummary to check the stream status, which is returned in `StreamStatus`.
*
Expand All @@ -169,13 +177,15 @@ public function addTagsToStream($input): Result
* ShardCount?: int|null,
* StreamModeDetails?: StreamModeDetails|array|null,
* Tags?: array<string, string>|null,
* WarmThroughputMiBps?: int|null,
* MaxRecordSizeInKiB?: int|null,
* '@region'?: string|null,
* }|CreateStreamInput $input
*
* @throws InvalidArgumentException
* @throws LimitExceededException
* @throws ResourceInUseException
* @throws ValidationException
*/
public function createStream($input): Result
{
Expand All @@ -184,6 +194,7 @@ public function createStream($input): Result
'InvalidArgumentException' => InvalidArgumentException::class,
'LimitExceededException' => LimitExceededException::class,
'ResourceInUseException' => ResourceInUseException::class,
'ValidationException' => ValidationException::class,
]]));

return new Result($response);
Expand Down
10 changes: 10 additions & 0 deletions src/Service/Kinesis/src/Result/DescribeStreamSummaryOutput.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
use AsyncAws\Kinesis\ValueObject\EnhancedMetrics;
use AsyncAws\Kinesis\ValueObject\StreamDescriptionSummary;
use AsyncAws\Kinesis\ValueObject\StreamModeDetails;
use AsyncAws\Kinesis\ValueObject\WarmThroughputObject;

class DescribeStreamSummaryOutput extends Result
{
Expand Down Expand Up @@ -82,6 +83,7 @@ private function populateResultStreamDescriptionSummary(array $json): StreamDesc
'KeyId' => isset($json['KeyId']) ? (string) $json['KeyId'] : null,
'OpenShardCount' => (int) $json['OpenShardCount'],
'ConsumerCount' => isset($json['ConsumerCount']) ? (int) $json['ConsumerCount'] : null,
'WarmThroughput' => empty($json['WarmThroughput']) ? null : $this->populateResultWarmThroughputObject($json['WarmThroughput']),
'MaxRecordSizeInKiB' => isset($json['MaxRecordSizeInKiB']) ? (int) $json['MaxRecordSizeInKiB'] : null,
]);
}
Expand All @@ -92,4 +94,12 @@ private function populateResultStreamModeDetails(array $json): StreamModeDetails
'StreamMode' => (string) $json['StreamMode'],
]);
}

private function populateResultWarmThroughputObject(array $json): WarmThroughputObject
{
return new WarmThroughputObject([
'TargetMiBps' => isset($json['TargetMiBps']) ? (int) $json['TargetMiBps'] : null,
'CurrentMiBps' => isset($json['CurrentMiBps']) ? (int) $json['CurrentMiBps'] : null,
]);
}
}
16 changes: 16 additions & 0 deletions src/Service/Kinesis/src/ValueObject/StreamDescriptionSummary.php
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,14 @@ final class StreamDescriptionSummary
*/
private $consumerCount;

/**
* The warm throughput in MB/s for the stream. This represents the throughput capacity that will be immediately
* available for write operations.
*
* @var WarmThroughputObject|null
*/
private $warmThroughput;

/**
* The maximum record size of a single record in kibibyte (KiB) that you can write to, and read from a stream.
*
Expand All @@ -129,6 +137,7 @@ final class StreamDescriptionSummary
* KeyId?: string|null,
* OpenShardCount: int,
* ConsumerCount?: int|null,
* WarmThroughput?: WarmThroughputObject|array|null,
* MaxRecordSizeInKiB?: int|null,
* } $input
*/
Expand All @@ -145,6 +154,7 @@ public function __construct(array $input)
$this->keyId = $input['KeyId'] ?? null;
$this->openShardCount = $input['OpenShardCount'] ?? $this->throwException(new InvalidArgument('Missing required field "OpenShardCount".'));
$this->consumerCount = $input['ConsumerCount'] ?? null;
$this->warmThroughput = isset($input['WarmThroughput']) ? WarmThroughputObject::create($input['WarmThroughput']) : null;
$this->maxRecordSizeInKiB = $input['MaxRecordSizeInKiB'] ?? null;
}

Expand All @@ -161,6 +171,7 @@ public function __construct(array $input)
* KeyId?: string|null,
* OpenShardCount: int,
* ConsumerCount?: int|null,
* WarmThroughput?: WarmThroughputObject|array|null,
* MaxRecordSizeInKiB?: int|null,
* }|StreamDescriptionSummary $input
*/
Expand Down Expand Up @@ -238,6 +249,11 @@ public function getStreamStatus(): string
return $this->streamStatus;
}

public function getWarmThroughput(): ?WarmThroughputObject
{
return $this->warmThroughput;
}

/**
* @return never
*/
Expand Down
59 changes: 59 additions & 0 deletions src/Service/Kinesis/src/ValueObject/WarmThroughputObject.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?php

namespace AsyncAws\Kinesis\ValueObject;

/**
* Represents the warm throughput configuration on the stream. This is only present for On-Demand Kinesis Data Streams
* in accounts that have `MinimumThroughputBillingCommitment` enabled.
*/
final class WarmThroughputObject
{
/**
* The target warm throughput value on the stream. This indicates that the stream is currently scaling towards this
* target value.
*
* @var int|null
*/
private $targetMiBps;

/**
* The current warm throughput value on the stream. This is the write throughput in MiBps that the stream is currently
* scaled to handle.
*
* @var int|null
*/
private $currentMiBps;

/**
* @param array{
* TargetMiBps?: int|null,
* CurrentMiBps?: int|null,
* } $input
*/
public function __construct(array $input)
{
$this->targetMiBps = $input['TargetMiBps'] ?? null;
$this->currentMiBps = $input['CurrentMiBps'] ?? null;
}

/**
* @param array{
* TargetMiBps?: int|null,
* CurrentMiBps?: int|null,
* }|WarmThroughputObject $input
*/
public static function create($input): self
{
return $input instanceof self ? $input : new self($input);
}

public function getCurrentMiBps(): ?int
{
return $this->currentMiBps;
}

public function getTargetMiBps(): ?int
{
return $this->targetMiBps;
}
}
1 change: 1 addition & 0 deletions src/Service/Lambda/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
- AWS api-change: Add NodeJs 24 (nodejs24.x) support to AWS Lambda.
- AWS api-change: Added `us-isob-west-1` region
- AWS api-change: Added SerializedRequestEntityTooLargeException to Lambda Invoke API
- AWS api-change: Add Python3.14 (python3.14) and Java 25 (java25) support to AWS Lambda

### Dependency bumped

Expand Down
4 changes: 4 additions & 0 deletions src/Service/Lambda/src/Enum/Runtime.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ final class Runtime
public const JAVA_11 = 'java11';
public const JAVA_17 = 'java17';
public const JAVA_21 = 'java21';
public const JAVA_25 = 'java25';
public const JAVA_8 = 'java8';
public const JAVA_8_AL_2 = 'java8.al2';
public const NODEJS = 'nodejs';
Expand All @@ -37,6 +38,7 @@ final class Runtime
public const PYTHON_3_11 = 'python3.11';
public const PYTHON_3_12 = 'python3.12';
public const PYTHON_3_13 = 'python3.13';
public const PYTHON_3_14 = 'python3.14';
public const PYTHON_3_6 = 'python3.6';
public const PYTHON_3_7 = 'python3.7';
public const PYTHON_3_8 = 'python3.8';
Expand All @@ -60,6 +62,7 @@ public static function exists(string $value): bool
self::JAVA_11 => true,
self::JAVA_17 => true,
self::JAVA_21 => true,
self::JAVA_25 => true,
self::JAVA_8 => true,
self::JAVA_8_AL_2 => true,
self::NODEJS => true,
Expand All @@ -83,6 +86,7 @@ public static function exists(string $value): bool
self::PYTHON_3_11 => true,
self::PYTHON_3_12 => true,
self::PYTHON_3_13 => true,
self::PYTHON_3_14 => true,
self::PYTHON_3_6 => true,
self::PYTHON_3_7 => true,
self::PYTHON_3_8 => true,
Expand Down
1 change: 1 addition & 0 deletions src/Service/MediaConvert/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
### Added

- AWS api-change: This release adds the ability to set resolution for the black video generator.
- AWS api-change: Adds SlowPalPitchCorrection to audio pitch correction settings. Enables opacity for VideoOverlays. Adds REMUX_ALL option to enable multi-rendition passthrough to VideoSelector for allow listed accounts.

### Dependency bumped

Expand Down
21 changes: 15 additions & 6 deletions src/Service/MediaConvert/src/Enum/AudioSelectorType.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,27 @@
* Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by
* specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID
* values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works
* with most input container formats. Language code: Select audio by language using an ISO 639-2 or ISO 639-3
* three-letter code in all capital letters. Use this when your source has embedded language metadata and you want to
* select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when
* your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All
* PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include
* all PCM audio tracks without specifying individual track numbers.
* with most input container formats. If more types of audio data get recognized in the future, these numberings may
* shift, but the numberings used for Stream mode will not. Language code: Select audio by language using an ISO 639-2
* or ISO 639-3 three-letter code in all capital letters. Use this when your source has embedded language metadata
* and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group.
* Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition
* groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want
* to include all PCM audio tracks without specifying individual track numbers. Stream: Select audio by stream number.
* Stream numbers include all tracks in the source file, regardless of type, and correspond to either the order of
* tracks in the file, or if applicable, the stream number metadata of the track. Although all tracks count toward these
* stream numbers, in this audio selector context, only the stream number of a track containing audio data may be used.
* If your source file contains a track which is not recognized by the service, then the corresponding stream number
* will still be reserved for future use. If more types of audio data get recognized in the future, these numberings
* will not shift.
*/
final class AudioSelectorType
{
public const ALL_PCM = 'ALL_PCM';
public const HLS_RENDITION_GROUP = 'HLS_RENDITION_GROUP';
public const LANGUAGE_CODE = 'LANGUAGE_CODE';
public const PID = 'PID';
public const STREAM = 'STREAM';
public const TRACK = 'TRACK';

public static function exists(string $value): bool
Expand All @@ -28,6 +36,7 @@ public static function exists(string $value): bool
self::HLS_RENDITION_GROUP => true,
self::LANGUAGE_CODE => true,
self::PID => true,
self::STREAM => true,
self::TRACK => true,
][$value]);
}
Expand Down
Loading
Loading