Skip to content

Commit

Permalink
Allow passing explicit null values for optional input members (#1542)
Browse files Browse the repository at this point in the history
This makes it easier to define the array literal for input objects as
PHP does not have a syntax sugar for conditional keys in an array
literal. This is consistent with the generated code for value objects.

Even though input objects allow to omit required members in the
constructor shape (as they can be set later by using the setter), the
phpdoc type still does not allow passing null explicitly (even though
the code would deal with it until the validation run) so that static
analysis tools can catch mistakes there. Passing a required member
explicitly is intended to pass a valid value for it and not a
potentially missing one.
  • Loading branch information
stof committed Aug 9, 2023
1 parent f2b8058 commit 3d4beee
Show file tree
Hide file tree
Showing 7 changed files with 105 additions and 105 deletions.
70 changes: 35 additions & 35 deletions src/AppSyncClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,16 +61,16 @@ class AppSyncClient extends AbstractApi
* apiId: string,
* typeName: string,
* fieldName: string,
* dataSourceName?: string,
* requestMappingTemplate?: string,
* responseMappingTemplate?: string,
* kind?: ResolverKind::*,
* pipelineConfig?: PipelineConfig|array,
* syncConfig?: SyncConfig|array,
* cachingConfig?: CachingConfig|array,
* maxBatchSize?: int,
* runtime?: AppSyncRuntime|array,
* code?: string,
* dataSourceName?: null|string,
* requestMappingTemplate?: null|string,
* responseMappingTemplate?: null|string,
* kind?: null|ResolverKind::*,
* pipelineConfig?: null|PipelineConfig|array,
* syncConfig?: null|SyncConfig|array,
* cachingConfig?: null|CachingConfig|array,
* maxBatchSize?: null|int,
* runtime?: null|AppSyncRuntime|array,
* code?: null|string,
* '@region'?: string|null,
* }|CreateResolverRequest $input
*
Expand Down Expand Up @@ -168,8 +168,8 @@ public function getSchemaCreationStatus($input): GetSchemaCreationStatusResponse
*
* @param array{
* apiId: string,
* nextToken?: string,
* maxResults?: int,
* nextToken?: null|string,
* maxResults?: null|int,
* '@region'?: string|null,
* }|ListApiKeysRequest $input
*
Expand Down Expand Up @@ -200,8 +200,8 @@ public function listApiKeys($input): ListApiKeysResponse
* @param array{
* apiId: string,
* typeName: string,
* nextToken?: string,
* maxResults?: int,
* nextToken?: null|string,
* maxResults?: null|int,
* '@region'?: string|null,
* }|ListResolversRequest $input
*
Expand Down Expand Up @@ -266,8 +266,8 @@ public function startSchemaCreation($input): StartSchemaCreationResponse
* @param array{
* apiId: string,
* id: string,
* description?: string,
* expires?: int,
* description?: null|string,
* expires?: null|int,
* '@region'?: string|null,
* }|UpdateApiKeyRequest $input
*
Expand Down Expand Up @@ -302,16 +302,16 @@ public function updateApiKey($input): UpdateApiKeyResponse
* @param array{
* apiId: string,
* name: string,
* description?: string,
* description?: null|string,
* type: DataSourceType::*,
* serviceRoleArn?: string,
* dynamodbConfig?: DynamodbDataSourceConfig|array,
* lambdaConfig?: LambdaDataSourceConfig|array,
* elasticsearchConfig?: ElasticsearchDataSourceConfig|array,
* openSearchServiceConfig?: OpenSearchServiceDataSourceConfig|array,
* httpConfig?: HttpDataSourceConfig|array,
* relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig|array,
* eventBridgeConfig?: EventBridgeDataSourceConfig|array,
* serviceRoleArn?: null|string,
* dynamodbConfig?: null|DynamodbDataSourceConfig|array,
* lambdaConfig?: null|LambdaDataSourceConfig|array,
* elasticsearchConfig?: null|ElasticsearchDataSourceConfig|array,
* openSearchServiceConfig?: null|OpenSearchServiceDataSourceConfig|array,
* httpConfig?: null|HttpDataSourceConfig|array,
* relationalDatabaseConfig?: null|RelationalDatabaseDataSourceConfig|array,
* eventBridgeConfig?: null|EventBridgeDataSourceConfig|array,
* '@region'?: string|null,
* }|UpdateDataSourceRequest $input
*
Expand Down Expand Up @@ -345,16 +345,16 @@ public function updateDataSource($input): UpdateDataSourceResponse
* apiId: string,
* typeName: string,
* fieldName: string,
* dataSourceName?: string,
* requestMappingTemplate?: string,
* responseMappingTemplate?: string,
* kind?: ResolverKind::*,
* pipelineConfig?: PipelineConfig|array,
* syncConfig?: SyncConfig|array,
* cachingConfig?: CachingConfig|array,
* maxBatchSize?: int,
* runtime?: AppSyncRuntime|array,
* code?: string,
* dataSourceName?: null|string,
* requestMappingTemplate?: null|string,
* responseMappingTemplate?: null|string,
* kind?: null|ResolverKind::*,
* pipelineConfig?: null|PipelineConfig|array,
* syncConfig?: null|SyncConfig|array,
* cachingConfig?: null|CachingConfig|array,
* maxBatchSize?: null|int,
* runtime?: null|AppSyncRuntime|array,
* code?: null|string,
* '@region'?: string|null,
* }|UpdateResolverRequest $input
*
Expand Down
40 changes: 20 additions & 20 deletions src/Input/CreateResolverRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,16 @@ final class CreateResolverRequest extends Input
* apiId?: string,
* typeName?: string,
* fieldName?: string,
* dataSourceName?: string,
* requestMappingTemplate?: string,
* responseMappingTemplate?: string,
* kind?: ResolverKind::*,
* pipelineConfig?: PipelineConfig|array,
* syncConfig?: SyncConfig|array,
* cachingConfig?: CachingConfig|array,
* maxBatchSize?: int,
* runtime?: AppSyncRuntime|array,
* code?: string,
* dataSourceName?: null|string,
* requestMappingTemplate?: null|string,
* responseMappingTemplate?: null|string,
* kind?: null|ResolverKind::*,
* pipelineConfig?: null|PipelineConfig|array,
* syncConfig?: null|SyncConfig|array,
* cachingConfig?: null|CachingConfig|array,
* maxBatchSize?: null|int,
* runtime?: null|AppSyncRuntime|array,
* code?: null|string,
* '@region'?: string|null,
* } $input
*/
Expand All @@ -162,16 +162,16 @@ public function __construct(array $input = [])
* apiId?: string,
* typeName?: string,
* fieldName?: string,
* dataSourceName?: string,
* requestMappingTemplate?: string,
* responseMappingTemplate?: string,
* kind?: ResolverKind::*,
* pipelineConfig?: PipelineConfig|array,
* syncConfig?: SyncConfig|array,
* cachingConfig?: CachingConfig|array,
* maxBatchSize?: int,
* runtime?: AppSyncRuntime|array,
* code?: string,
* dataSourceName?: null|string,
* requestMappingTemplate?: null|string,
* responseMappingTemplate?: null|string,
* kind?: null|ResolverKind::*,
* pipelineConfig?: null|PipelineConfig|array,
* syncConfig?: null|SyncConfig|array,
* cachingConfig?: null|CachingConfig|array,
* maxBatchSize?: null|int,
* runtime?: null|AppSyncRuntime|array,
* code?: null|string,
* '@region'?: string|null,
* }|CreateResolverRequest $input
*/
Expand Down
8 changes: 4 additions & 4 deletions src/Input/ListApiKeysRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ final class ListApiKeysRequest extends Input
/**
* @param array{
* apiId?: string,
* nextToken?: string,
* maxResults?: int,
* nextToken?: null|string,
* maxResults?: null|int,
* '@region'?: string|null,
* } $input
*/
Expand All @@ -52,8 +52,8 @@ public function __construct(array $input = [])
/**
* @param array{
* apiId?: string,
* nextToken?: string,
* maxResults?: int,
* nextToken?: null|string,
* maxResults?: null|int,
* '@region'?: string|null,
* }|ListApiKeysRequest $input
*/
Expand Down
8 changes: 4 additions & 4 deletions src/Input/ListResolversRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ final class ListResolversRequest extends Input
* @param array{
* apiId?: string,
* typeName?: string,
* nextToken?: string,
* maxResults?: int,
* nextToken?: null|string,
* maxResults?: null|int,
* '@region'?: string|null,
* } $input
*/
Expand All @@ -64,8 +64,8 @@ public function __construct(array $input = [])
* @param array{
* apiId?: string,
* typeName?: string,
* nextToken?: string,
* maxResults?: int,
* nextToken?: null|string,
* maxResults?: null|int,
* '@region'?: string|null,
* }|ListResolversRequest $input
*/
Expand Down
8 changes: 4 additions & 4 deletions src/Input/UpdateApiKeyRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ final class UpdateApiKeyRequest extends Input
* @param array{
* apiId?: string,
* id?: string,
* description?: string,
* expires?: int,
* description?: null|string,
* expires?: null|int,
* '@region'?: string|null,
* } $input
*/
Expand All @@ -64,8 +64,8 @@ public function __construct(array $input = [])
* @param array{
* apiId?: string,
* id?: string,
* description?: string,
* expires?: int,
* description?: null|string,
* expires?: null|int,
* '@region'?: string|null,
* }|UpdateApiKeyRequest $input
*/
Expand Down
36 changes: 18 additions & 18 deletions src/Input/UpdateDataSourceRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,16 +114,16 @@ final class UpdateDataSourceRequest extends Input
* @param array{
* apiId?: string,
* name?: string,
* description?: string,
* description?: null|string,
* type?: DataSourceType::*,
* serviceRoleArn?: string,
* dynamodbConfig?: DynamodbDataSourceConfig|array,
* lambdaConfig?: LambdaDataSourceConfig|array,
* elasticsearchConfig?: ElasticsearchDataSourceConfig|array,
* openSearchServiceConfig?: OpenSearchServiceDataSourceConfig|array,
* httpConfig?: HttpDataSourceConfig|array,
* relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig|array,
* eventBridgeConfig?: EventBridgeDataSourceConfig|array,
* serviceRoleArn?: null|string,
* dynamodbConfig?: null|DynamodbDataSourceConfig|array,
* lambdaConfig?: null|LambdaDataSourceConfig|array,
* elasticsearchConfig?: null|ElasticsearchDataSourceConfig|array,
* openSearchServiceConfig?: null|OpenSearchServiceDataSourceConfig|array,
* httpConfig?: null|HttpDataSourceConfig|array,
* relationalDatabaseConfig?: null|RelationalDatabaseDataSourceConfig|array,
* eventBridgeConfig?: null|EventBridgeDataSourceConfig|array,
* '@region'?: string|null,
* } $input
*/
Expand All @@ -148,16 +148,16 @@ public function __construct(array $input = [])
* @param array{
* apiId?: string,
* name?: string,
* description?: string,
* description?: null|string,
* type?: DataSourceType::*,
* serviceRoleArn?: string,
* dynamodbConfig?: DynamodbDataSourceConfig|array,
* lambdaConfig?: LambdaDataSourceConfig|array,
* elasticsearchConfig?: ElasticsearchDataSourceConfig|array,
* openSearchServiceConfig?: OpenSearchServiceDataSourceConfig|array,
* httpConfig?: HttpDataSourceConfig|array,
* relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig|array,
* eventBridgeConfig?: EventBridgeDataSourceConfig|array,
* serviceRoleArn?: null|string,
* dynamodbConfig?: null|DynamodbDataSourceConfig|array,
* lambdaConfig?: null|LambdaDataSourceConfig|array,
* elasticsearchConfig?: null|ElasticsearchDataSourceConfig|array,
* openSearchServiceConfig?: null|OpenSearchServiceDataSourceConfig|array,
* httpConfig?: null|HttpDataSourceConfig|array,
* relationalDatabaseConfig?: null|RelationalDatabaseDataSourceConfig|array,
* eventBridgeConfig?: null|EventBridgeDataSourceConfig|array,
* '@region'?: string|null,
* }|UpdateDataSourceRequest $input
*/
Expand Down
40 changes: 20 additions & 20 deletions src/Input/UpdateResolverRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,16 @@ final class UpdateResolverRequest extends Input
* apiId?: string,
* typeName?: string,
* fieldName?: string,
* dataSourceName?: string,
* requestMappingTemplate?: string,
* responseMappingTemplate?: string,
* kind?: ResolverKind::*,
* pipelineConfig?: PipelineConfig|array,
* syncConfig?: SyncConfig|array,
* cachingConfig?: CachingConfig|array,
* maxBatchSize?: int,
* runtime?: AppSyncRuntime|array,
* code?: string,
* dataSourceName?: null|string,
* requestMappingTemplate?: null|string,
* responseMappingTemplate?: null|string,
* kind?: null|ResolverKind::*,
* pipelineConfig?: null|PipelineConfig|array,
* syncConfig?: null|SyncConfig|array,
* cachingConfig?: null|CachingConfig|array,
* maxBatchSize?: null|int,
* runtime?: null|AppSyncRuntime|array,
* code?: null|string,
* '@region'?: string|null,
* } $input
*/
Expand All @@ -162,16 +162,16 @@ public function __construct(array $input = [])
* apiId?: string,
* typeName?: string,
* fieldName?: string,
* dataSourceName?: string,
* requestMappingTemplate?: string,
* responseMappingTemplate?: string,
* kind?: ResolverKind::*,
* pipelineConfig?: PipelineConfig|array,
* syncConfig?: SyncConfig|array,
* cachingConfig?: CachingConfig|array,
* maxBatchSize?: int,
* runtime?: AppSyncRuntime|array,
* code?: string,
* dataSourceName?: null|string,
* requestMappingTemplate?: null|string,
* responseMappingTemplate?: null|string,
* kind?: null|ResolverKind::*,
* pipelineConfig?: null|PipelineConfig|array,
* syncConfig?: null|SyncConfig|array,
* cachingConfig?: null|CachingConfig|array,
* maxBatchSize?: null|int,
* runtime?: null|AppSyncRuntime|array,
* code?: null|string,
* '@region'?: string|null,
* }|UpdateResolverRequest $input
*/
Expand Down

0 comments on commit 3d4beee

Please sign in to comment.