Skip to content

Commit

Permalink
feat(client-storage-gateway): Adds SoftwareUpdatePreferences to Descr…
Browse files Browse the repository at this point in the history
…ibeMaintenanceStartTime and UpdateMaintenanceStartTime, a structure which contains AutomaticUpdatePolicy.
  • Loading branch information
awstools committed Jun 6, 2024
1 parent ae7c3b0 commit f7b019e
Show file tree
Hide file tree
Showing 7 changed files with 199 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ export interface DescribeMaintenanceStartTimeCommandOutput
__MetadataBearer {}

/**
* <p>Returns your gateway's weekly maintenance start time including the day and time of
* the week. Note that values are in terms of the gateway's time zone.</p>
* <p>Returns your gateway's maintenance window schedule information, with values for
* monthly or weekly cadence, specific day and time to begin maintenance, and which types of
* updates to apply. Time values returned are for the gateway's time zone.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand All @@ -53,6 +54,9 @@ export interface DescribeMaintenanceStartTimeCommandOutput
* // DayOfWeek: Number("int"),
* // DayOfMonth: Number("int"),
* // Timezone: "STRING_VALUE",
* // SoftwareUpdatePreferences: { // SoftwareUpdatePreferences
* // AutomaticUpdatePolicy: "ALL_VERSIONS" || "EMERGENCY_VERSIONS_ONLY",
* // },
* // };
*
* ```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ export interface UpdateGatewayInformationCommandInput extends UpdateGatewayInfor
export interface UpdateGatewayInformationCommandOutput extends UpdateGatewayInformationOutput, __MetadataBearer {}

/**
* <p>Updates a gateway's metadata, which includes the gateway's name and time zone.
* To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in
* your request.</p>
* <p>Updates a gateway's metadata, which includes the gateway's name, time zone,
* and metadata cache size. To specify which gateway to update, use the Amazon Resource Name
* (ARN) of the gateway in your request.</p>
* <note>
* <p>For gateways activated after September 2, 2015, the gateway's ARN contains the
* gateway ID rather than the gateway name. However, changing the name of the gateway has
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,22 @@ export interface UpdateMaintenanceStartTimeCommandInput extends UpdateMaintenanc
export interface UpdateMaintenanceStartTimeCommandOutput extends UpdateMaintenanceStartTimeOutput, __MetadataBearer {}

/**
* <p>Updates a gateway's weekly maintenance start time information, including day and
* time of the week. The maintenance time is the time in your gateway's time zone.</p>
* <p>Updates a gateway's maintenance window schedule, with settings for monthly or
* weekly cadence, specific day and time to begin maintenance, and which types of updates to
* apply. Time configuration uses the gateway's time zone. You can pass values for a complete
* maintenance schedule, or update policy, or both. Previous values will persist for whichever
* setting you choose not to modify. If an incomplete or invalid maintenance schedule is
* passed, the entire request will be rejected with an error and no changes will occur.</p>
* <p>A complete maintenance schedule must include values for <i>both</i>
* <code>MinuteOfHour</code> and <code>HourOfDay</code>, and <i>either</i>
* <code>DayOfMonth</code>
* <i>or</i>
* <code>DayOfWeek</code>.</p>
* <note>
* <p>We recommend keeping maintenance updates turned on, except in specific use cases
* where the brief disruptions caused by updating the gateway could critically impact your
* deployment.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand All @@ -38,10 +52,13 @@ export interface UpdateMaintenanceStartTimeCommandOutput extends UpdateMaintenan
* const client = new StorageGatewayClient(config);
* const input = { // UpdateMaintenanceStartTimeInput
* GatewayARN: "STRING_VALUE", // required
* HourOfDay: Number("int"), // required
* MinuteOfHour: Number("int"), // required
* HourOfDay: Number("int"),
* MinuteOfHour: Number("int"),
* DayOfWeek: Number("int"),
* DayOfMonth: Number("int"),
* SoftwareUpdatePreferences: { // SoftwareUpdatePreferences
* AutomaticUpdatePolicy: "ALL_VERSIONS" || "EMERGENCY_VERSIONS_ONLY",
* },
* };
* const command = new UpdateMaintenanceStartTimeCommand(input);
* const response = await client.send(command);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,13 @@ export interface UpdateSMBSecurityStrategyCommandInput extends UpdateSMBSecurity
export interface UpdateSMBSecurityStrategyCommandOutput extends UpdateSMBSecurityStrategyOutput, __MetadataBearer {}

/**
* <p>Updates the SMB security strategy on a file gateway. This action is only supported in
* file gateways.</p>
* <p>Updates the SMB security strategy level for an Amazon S3 file gateway. This
* action is only supported for Amazon S3 file gateways.</p>
* <note>
* <p>This API is called Security level in the User Guide.</p>
* <p>A higher security level can affect performance of the gateway.</p>
* <p>For information about configuring this setting using the Amazon Web Services console,
* see <a href="https://docs.aws.amazon.com/filegateway/latest/files3/security-strategy.html">Setting a security level for your gateway</a> in the <i>Amazon S3
* File Gateway User Guide</i>.</p>
* <p>A higher security strategy level can affect performance of the gateway.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down
126 changes: 101 additions & 25 deletions clients/client-storage-gateway/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -791,6 +791,20 @@ export interface AutomaticTapeCreationPolicyInfo {
GatewayARN?: string;
}

/**
* @public
* @enum
*/
export const AutomaticUpdatePolicy = {
ALL_VERSIONS: "ALL_VERSIONS",
EMERGENCY_VERSIONS_ONLY: "EMERGENCY_VERSIONS_ONLY",
} as const;

/**
* @public
*/
export type AutomaticUpdatePolicy = (typeof AutomaticUpdatePolicy)[keyof typeof AutomaticUpdatePolicy];

/**
* @public
* @enum
Expand Down Expand Up @@ -3379,11 +3393,33 @@ export interface DescribeMaintenanceStartTimeInput {
GatewayARN: string | undefined;
}

/**
* <p>A set of variables indicating the software update preferences for the gateway.</p>
* @public
*/
export interface SoftwareUpdatePreferences {
/**
* <p>Indicates the automatic update policy for a gateway.</p>
* <p>
* <code>ALL_VERSIONS</code> - Enables regular gateway maintenance updates.</p>
* <p>
* <code>EMERGENCY_VERSIONS_ONLY</code> - Disables regular gateway maintenance
* updates.</p>
* @public
*/
AutomaticUpdatePolicy?: AutomaticUpdatePolicy;
}

/**
* <p>A JSON object containing the following fields:</p>
* <ul>
* <li>
* <p>
* <a>DescribeMaintenanceStartTimeOutput$SoftwareUpdatePreferences</a>
* </p>
* </li>
* <li>
* <p>
* <a>DescribeMaintenanceStartTimeOutput$DayOfMonth</a>
* </p>
* </li>
Expand Down Expand Up @@ -3444,8 +3480,8 @@ export interface DescribeMaintenanceStartTimeOutput {

/**
* <p>The day of the month component of the maintenance start time represented as an ordinal
* number from 1 to 28, where 1 represents the first day of the month and 28 represents the
* last day of the month.</p>
* number from 1 to 28, where 1 represents the first day of the month. It is not possible to
* set the maintenance schedule to start on days 29 through 31.</p>
* @public
*/
DayOfMonth?: number;
Expand All @@ -3456,6 +3492,18 @@ export interface DescribeMaintenanceStartTimeOutput {
* @public
*/
Timezone?: string;

/**
* <p>A set of variables indicating the software update preferences for the gateway.</p>
* <p>Includes <code>AutomaticUpdatePolicy</code> field with the following inputs:</p>
* <p>
* <code>ALL_VERSIONS</code> - Enables regular gateway maintenance updates.</p>
* <p>
* <code>EMERGENCY_VERSIONS_ONLY</code> - Disables regular gateway maintenance
* updates.</p>
* @public
*/
SoftwareUpdatePreferences?: SoftwareUpdatePreferences;
}

/**
Expand Down Expand Up @@ -4196,26 +4244,26 @@ export interface DescribeSMBSettingsOutput {
* </li>
* <li>
* <p>
* <code>MandatorySigning</code>: If you use this option, File Gateway only allows
* <code>MandatorySigning</code>: If you choose this option, File Gateway only allows
* connections from SMBv2 or SMBv3 clients that have signing turned on. This option
* works with SMB clients on Microsoft Windows Vista, Windows Server 2008, or later.
* </p>
* </li>
* <li>
* <p>
* <code>MandatoryEncryption</code>: If you use this option, File Gateway only allows
* connections from SMBv3 clients that have encryption turned on. Both 256-bit and
* 128-bit algorithms are allowed. This option is recommended for environments that
* <code>MandatoryEncryption</code>: If you choose this option, File Gateway only
* allows connections from SMBv3 clients that have encryption turned on. Both 256-bit
* and 128-bit algorithms are allowed. This option is recommended for environments that
* handle sensitive data. It works with SMB clients on Microsoft Windows 8, Windows
* Server 2012, or later.</p>
* </li>
* <li>
* <p>
* <code>EnforceEncryption</code>: If you use this option, File Gateway only allows
* connections from SMBv3 clients that use 256-bit AES encryption algorithms. 128-bit
* algorithms are not allowed. This option is recommended for environments that handle
* sensitive data. It works with SMB clients on Microsoft Windows 8, Windows Server
* 2012, or later.</p>
* <code>MandatoryEncryptionNoAes128</code>: If you choose this option, File Gateway
* only allows connections from SMBv3 clients that use 256-bit AES encryption
* algorithms. 128-bit algorithms are not allowed. This option is recommended for
* environments that handle sensitive data. It works with SMB clients on Microsoft
* Windows 8, Windows Server 2012, or later.</p>
* </li>
* </ul>
* @public
Expand Down Expand Up @@ -6953,7 +7001,9 @@ export interface UpdateGatewayInformationInput {
CloudWatchLogGroupARN?: string;

/**
* <p>Specifies the size of the gateway's metadata cache.</p>
* <p>Specifies the size of the gateway's metadata cache. This setting impacts gateway
* performance and hardware recommendations. For more information, see <a href="https://docs.aws.amazon.com/filegateway/latest/files3/performance-multiple-file-shares.html">Performance guidance for gateways with multiple file shares</a>
* in the <i>Amazon S3 File Gateway User Guide</i>.</p>
* @public
*/
GatewayCapacity?: GatewayCapacity;
Expand Down Expand Up @@ -7011,6 +7061,11 @@ export interface UpdateGatewaySoftwareNowOutput {
* <ul>
* <li>
* <p>
* <a>UpdateMaintenanceStartTimeInput$SoftwareUpdatePreferences</a>
* </p>
* </li>
* <li>
* <p>
* <a>UpdateMaintenanceStartTimeInput$DayOfMonth</a>
* </p>
* </li>
Expand Down Expand Up @@ -7046,30 +7101,42 @@ export interface UpdateMaintenanceStartTimeInput {
* zone of the gateway.</p>
* @public
*/
HourOfDay: number | undefined;
HourOfDay?: number;

/**
* <p>The minute component of the maintenance start time represented as
* <i>mm</i>, where <i>mm</i> is the minute (00 to 59). The
* minute of the hour is in the time zone of the gateway.</p>
* @public
*/
MinuteOfHour: number | undefined;
MinuteOfHour?: number;

/**
* <p>The day of the week component of the maintenance start time week represented as an
* ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.</p>
* ordinal number from 0 to 6, where 0 represents Sunday and 6 represents Saturday.</p>
* @public
*/
DayOfWeek?: number;

/**
* <p>The day of the month component of the maintenance start time represented as an ordinal
* number from 1 to 28, where 1 represents the first day of the month and 28 represents the
* last day of the month.</p>
* number from 1 to 28, where 1 represents the first day of the month. It is not possible to
* set the maintenance schedule to start on days 29 through 31.</p>
* @public
*/
DayOfMonth?: number;

/**
* <p>A set of variables indicating the software update preferences for the gateway.</p>
* <p>Includes <code>AutomaticUpdatePolicy</code> field with the following inputs:</p>
* <p>
* <code>ALL_VERSIONS</code> - Enables regular gateway maintenance updates.</p>
* <p>
* <code>EMERGENCY_VERSIONS_ONLY</code> - Disables regular gateway maintenance
* updates.</p>
* @public
*/
SoftwareUpdatePreferences?: SoftwareUpdatePreferences;
}

/**
Expand Down Expand Up @@ -7547,17 +7614,26 @@ export interface UpdateSMBSecurityStrategyInput {

/**
* <p>Specifies the type of security strategy.</p>
* <p>ClientSpecified: if you use this option, requests are established based on what is
* negotiated by the client. This option is recommended when you want to maximize
* compatibility across different clients in your environment. Supported only in S3 File
* <p>
* <code>ClientSpecified</code>: If you choose this option, requests are established based
* on what is negotiated by the client. This option is recommended when you want to maximize
* compatibility across different clients in your environment. Supported only for S3 File
* Gateway.</p>
* <p>MandatorySigning: if you use this option, file gateway only allows connections from
* SMBv2 or SMBv3 clients that have signing enabled. This option works with SMB clients on
* Microsoft Windows Vista, Windows Server 2008 or newer.</p>
* <p>MandatoryEncryption: if you use this option, file gateway only allows connections from
* SMBv3 clients that have encryption enabled. This option is highly recommended for
* <p>
* <code>MandatorySigning</code>: If you choose this option, File Gateway only allows
* connections from SMBv2 or SMBv3 clients that have signing enabled. This option works with
* SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer.</p>
* <p>
* <code>MandatoryEncryption</code>: If you choose this option, File Gateway only allows
* connections from SMBv3 clients that have encryption enabled. This option is recommended for
* environments that handle sensitive data. This option works with SMB clients on Microsoft
* Windows 8, Windows Server 2012 or newer.</p>
* <p>
* <code>MandatoryEncryptionNoAes128</code>: If you choose this option, File Gateway only
* allows connections from SMBv3 clients that use 256-bit AES encryption algorithms. 128-bit
* algorithms are not allowed. This option is recommended for environments that handle
* sensitive data. It works with SMB clients on Microsoft Windows 8, Windows Server 2012, or
* later.</p>
* @public
*/
SMBSecurityStrategy: SMBSecurityStrategy | undefined;
Expand Down
5 changes: 5 additions & 0 deletions clients/client-storage-gateway/src/protocols/Aws_json1_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,7 @@ import {
SetSMBGuestPasswordInput,
ShutdownGatewayInput,
SMBLocalGroups,
SoftwareUpdatePreferences,
StartAvailabilityMonitorTestInput,
StartGatewayInput,
StorediSCSIVolume,
Expand Down Expand Up @@ -3607,6 +3608,8 @@ const de_ServiceUnavailableErrorRes = async (

// se_SMBLocalGroups omitted.

// se_SoftwareUpdatePreferences omitted.

// se_StartAvailabilityMonitorTestInput omitted.

// se_StartGatewayInput omitted.
Expand Down Expand Up @@ -4001,6 +4004,8 @@ const de_ListTapesOutput = (output: any, context: __SerdeContext): ListTapesOutp

// de_SMBLocalGroups omitted.

// de_SoftwareUpdatePreferences omitted.

// de_StartAvailabilityMonitorTestOutput omitted.

// de_StartGatewayOutput omitted.
Expand Down
Loading

0 comments on commit f7b019e

Please sign in to comment.