/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace PrivateNetworks { namespace Model { /** */ class StartNetworkResourceUpdateRequest : public PrivateNetworksRequest { public: AWS_PRIVATENETWORKS_API StartNetworkResourceUpdateRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartNetworkResourceUpdate"; } AWS_PRIVATENETWORKS_API Aws::String SerializePayload() const override; /** *

Use this action to extend and automatically renew the commitment period for * the radio unit. You can do the following:

  • Change a 60-day * commitment to a 1-year or 3-year commitment. The change is immediate and the * hourly rate decreases to the rate for the new commitment period.

  • *

    Change a 1-year commitment to a 3-year commitment. The change is immediate * and the hourly rate decreases to the rate for the 3-year commitment period.

    *
  • Set a 1-year commitment to automatically renew for an additional 1 * year. The hourly rate for the additional year will continue to be the same as * your existing 1-year rate.

  • Set a 3-year commitment to * automatically renew for an additional 1 year. The hourly rate for the additional * year will continue to be the same as your existing 3-year rate.

  • *

    Turn off a previously-enabled automatic renewal on a 1-year or 3-year * commitment. You cannot use the automatic-renewal option for a 60-day * commitment.

For pricing, see Amazon Web Services Private 5G * Pricing.

*/ inline const CommitmentConfiguration& GetCommitmentConfiguration() const{ return m_commitmentConfiguration; } /** *

Use this action to extend and automatically renew the commitment period for * the radio unit. You can do the following:

  • Change a 60-day * commitment to a 1-year or 3-year commitment. The change is immediate and the * hourly rate decreases to the rate for the new commitment period.

  • *

    Change a 1-year commitment to a 3-year commitment. The change is immediate * and the hourly rate decreases to the rate for the 3-year commitment period.

    *
  • Set a 1-year commitment to automatically renew for an additional 1 * year. The hourly rate for the additional year will continue to be the same as * your existing 1-year rate.

  • Set a 3-year commitment to * automatically renew for an additional 1 year. The hourly rate for the additional * year will continue to be the same as your existing 3-year rate.

  • *

    Turn off a previously-enabled automatic renewal on a 1-year or 3-year * commitment. You cannot use the automatic-renewal option for a 60-day * commitment.

For pricing, see Amazon Web Services Private 5G * Pricing.

*/ inline bool CommitmentConfigurationHasBeenSet() const { return m_commitmentConfigurationHasBeenSet; } /** *

Use this action to extend and automatically renew the commitment period for * the radio unit. You can do the following:

  • Change a 60-day * commitment to a 1-year or 3-year commitment. The change is immediate and the * hourly rate decreases to the rate for the new commitment period.

  • *

    Change a 1-year commitment to a 3-year commitment. The change is immediate * and the hourly rate decreases to the rate for the 3-year commitment period.

    *
  • Set a 1-year commitment to automatically renew for an additional 1 * year. The hourly rate for the additional year will continue to be the same as * your existing 1-year rate.

  • Set a 3-year commitment to * automatically renew for an additional 1 year. The hourly rate for the additional * year will continue to be the same as your existing 3-year rate.

  • *

    Turn off a previously-enabled automatic renewal on a 1-year or 3-year * commitment. You cannot use the automatic-renewal option for a 60-day * commitment.

For pricing, see Amazon Web Services Private 5G * Pricing.

*/ inline void SetCommitmentConfiguration(const CommitmentConfiguration& value) { m_commitmentConfigurationHasBeenSet = true; m_commitmentConfiguration = value; } /** *

Use this action to extend and automatically renew the commitment period for * the radio unit. You can do the following:

  • Change a 60-day * commitment to a 1-year or 3-year commitment. The change is immediate and the * hourly rate decreases to the rate for the new commitment period.

  • *

    Change a 1-year commitment to a 3-year commitment. The change is immediate * and the hourly rate decreases to the rate for the 3-year commitment period.

    *
  • Set a 1-year commitment to automatically renew for an additional 1 * year. The hourly rate for the additional year will continue to be the same as * your existing 1-year rate.

  • Set a 3-year commitment to * automatically renew for an additional 1 year. The hourly rate for the additional * year will continue to be the same as your existing 3-year rate.

  • *

    Turn off a previously-enabled automatic renewal on a 1-year or 3-year * commitment. You cannot use the automatic-renewal option for a 60-day * commitment.

For pricing, see Amazon Web Services Private 5G * Pricing.

*/ inline void SetCommitmentConfiguration(CommitmentConfiguration&& value) { m_commitmentConfigurationHasBeenSet = true; m_commitmentConfiguration = std::move(value); } /** *

Use this action to extend and automatically renew the commitment period for * the radio unit. You can do the following:

  • Change a 60-day * commitment to a 1-year or 3-year commitment. The change is immediate and the * hourly rate decreases to the rate for the new commitment period.

  • *

    Change a 1-year commitment to a 3-year commitment. The change is immediate * and the hourly rate decreases to the rate for the 3-year commitment period.

    *
  • Set a 1-year commitment to automatically renew for an additional 1 * year. The hourly rate for the additional year will continue to be the same as * your existing 1-year rate.

  • Set a 3-year commitment to * automatically renew for an additional 1 year. The hourly rate for the additional * year will continue to be the same as your existing 3-year rate.

  • *

    Turn off a previously-enabled automatic renewal on a 1-year or 3-year * commitment. You cannot use the automatic-renewal option for a 60-day * commitment.

For pricing, see Amazon Web Services Private 5G * Pricing.

*/ inline StartNetworkResourceUpdateRequest& WithCommitmentConfiguration(const CommitmentConfiguration& value) { SetCommitmentConfiguration(value); return *this;} /** *

Use this action to extend and automatically renew the commitment period for * the radio unit. You can do the following:

  • Change a 60-day * commitment to a 1-year or 3-year commitment. The change is immediate and the * hourly rate decreases to the rate for the new commitment period.

  • *

    Change a 1-year commitment to a 3-year commitment. The change is immediate * and the hourly rate decreases to the rate for the 3-year commitment period.

    *
  • Set a 1-year commitment to automatically renew for an additional 1 * year. The hourly rate for the additional year will continue to be the same as * your existing 1-year rate.

  • Set a 3-year commitment to * automatically renew for an additional 1 year. The hourly rate for the additional * year will continue to be the same as your existing 3-year rate.

  • *

    Turn off a previously-enabled automatic renewal on a 1-year or 3-year * commitment. You cannot use the automatic-renewal option for a 60-day * commitment.

For pricing, see Amazon Web Services Private 5G * Pricing.

*/ inline StartNetworkResourceUpdateRequest& WithCommitmentConfiguration(CommitmentConfiguration&& value) { SetCommitmentConfiguration(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline const Aws::String& GetNetworkResourceArn() const{ return m_networkResourceArn; } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline bool NetworkResourceArnHasBeenSet() const { return m_networkResourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline void SetNetworkResourceArn(const Aws::String& value) { m_networkResourceArnHasBeenSet = true; m_networkResourceArn = value; } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline void SetNetworkResourceArn(Aws::String&& value) { m_networkResourceArnHasBeenSet = true; m_networkResourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline void SetNetworkResourceArn(const char* value) { m_networkResourceArnHasBeenSet = true; m_networkResourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline StartNetworkResourceUpdateRequest& WithNetworkResourceArn(const Aws::String& value) { SetNetworkResourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline StartNetworkResourceUpdateRequest& WithNetworkResourceArn(Aws::String&& value) { SetNetworkResourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the network resource.

*/ inline StartNetworkResourceUpdateRequest& WithNetworkResourceArn(const char* value) { SetNetworkResourceArn(value); return *this;} /** *

The reason for the return. Providing a reason for a return is optional.

*/ inline const Aws::String& GetReturnReason() const{ return m_returnReason; } /** *

The reason for the return. Providing a reason for a return is optional.

*/ inline bool ReturnReasonHasBeenSet() const { return m_returnReasonHasBeenSet; } /** *

The reason for the return. Providing a reason for a return is optional.

*/ inline void SetReturnReason(const Aws::String& value) { m_returnReasonHasBeenSet = true; m_returnReason = value; } /** *

The reason for the return. Providing a reason for a return is optional.

*/ inline void SetReturnReason(Aws::String&& value) { m_returnReasonHasBeenSet = true; m_returnReason = std::move(value); } /** *

The reason for the return. Providing a reason for a return is optional.

*/ inline void SetReturnReason(const char* value) { m_returnReasonHasBeenSet = true; m_returnReason.assign(value); } /** *

The reason for the return. Providing a reason for a return is optional.

*/ inline StartNetworkResourceUpdateRequest& WithReturnReason(const Aws::String& value) { SetReturnReason(value); return *this;} /** *

The reason for the return. Providing a reason for a return is optional.

*/ inline StartNetworkResourceUpdateRequest& WithReturnReason(Aws::String&& value) { SetReturnReason(std::move(value)); return *this;} /** *

The reason for the return. Providing a reason for a return is optional.

*/ inline StartNetworkResourceUpdateRequest& WithReturnReason(const char* value) { SetReturnReason(value); return *this;} /** *

The shipping address. If you don't provide a shipping address when replacing * or returning a network resource, we use the address from the original order for * the network resource.

*/ inline const Address& GetShippingAddress() const{ return m_shippingAddress; } /** *

The shipping address. If you don't provide a shipping address when replacing * or returning a network resource, we use the address from the original order for * the network resource.

*/ inline bool ShippingAddressHasBeenSet() const { return m_shippingAddressHasBeenSet; } /** *

The shipping address. If you don't provide a shipping address when replacing * or returning a network resource, we use the address from the original order for * the network resource.

*/ inline void SetShippingAddress(const Address& value) { m_shippingAddressHasBeenSet = true; m_shippingAddress = value; } /** *

The shipping address. If you don't provide a shipping address when replacing * or returning a network resource, we use the address from the original order for * the network resource.

*/ inline void SetShippingAddress(Address&& value) { m_shippingAddressHasBeenSet = true; m_shippingAddress = std::move(value); } /** *

The shipping address. If you don't provide a shipping address when replacing * or returning a network resource, we use the address from the original order for * the network resource.

*/ inline StartNetworkResourceUpdateRequest& WithShippingAddress(const Address& value) { SetShippingAddress(value); return *this;} /** *

The shipping address. If you don't provide a shipping address when replacing * or returning a network resource, we use the address from the original order for * the network resource.

*/ inline StartNetworkResourceUpdateRequest& WithShippingAddress(Address&& value) { SetShippingAddress(std::move(value)); return *this;} /** *

The update type.

  • REPLACE - Submits a request * to replace a defective radio unit. We provide a shipping label that you can use * for the return process and we ship a replacement radio unit to you.

  • *
  • RETURN - Submits a request to return a radio unit that you * no longer need. We provide a shipping label that you can use for the return * process.

  • COMMITMENT - Submits a request to * change or renew the commitment period. If you choose this value, then you must * set * commitmentConfiguration .

*/ inline const UpdateType& GetUpdateType() const{ return m_updateType; } /** *

The update type.

  • REPLACE - Submits a request * to replace a defective radio unit. We provide a shipping label that you can use * for the return process and we ship a replacement radio unit to you.

  • *
  • RETURN - Submits a request to return a radio unit that you * no longer need. We provide a shipping label that you can use for the return * process.

  • COMMITMENT - Submits a request to * change or renew the commitment period. If you choose this value, then you must * set * commitmentConfiguration .

*/ inline bool UpdateTypeHasBeenSet() const { return m_updateTypeHasBeenSet; } /** *

The update type.

  • REPLACE - Submits a request * to replace a defective radio unit. We provide a shipping label that you can use * for the return process and we ship a replacement radio unit to you.

  • *
  • RETURN - Submits a request to return a radio unit that you * no longer need. We provide a shipping label that you can use for the return * process.

  • COMMITMENT - Submits a request to * change or renew the commitment period. If you choose this value, then you must * set * commitmentConfiguration .

*/ inline void SetUpdateType(const UpdateType& value) { m_updateTypeHasBeenSet = true; m_updateType = value; } /** *

The update type.

  • REPLACE - Submits a request * to replace a defective radio unit. We provide a shipping label that you can use * for the return process and we ship a replacement radio unit to you.

  • *
  • RETURN - Submits a request to return a radio unit that you * no longer need. We provide a shipping label that you can use for the return * process.

  • COMMITMENT - Submits a request to * change or renew the commitment period. If you choose this value, then you must * set * commitmentConfiguration .

*/ inline void SetUpdateType(UpdateType&& value) { m_updateTypeHasBeenSet = true; m_updateType = std::move(value); } /** *

The update type.

  • REPLACE - Submits a request * to replace a defective radio unit. We provide a shipping label that you can use * for the return process and we ship a replacement radio unit to you.

  • *
  • RETURN - Submits a request to return a radio unit that you * no longer need. We provide a shipping label that you can use for the return * process.

  • COMMITMENT - Submits a request to * change or renew the commitment period. If you choose this value, then you must * set * commitmentConfiguration .

*/ inline StartNetworkResourceUpdateRequest& WithUpdateType(const UpdateType& value) { SetUpdateType(value); return *this;} /** *

The update type.

  • REPLACE - Submits a request * to replace a defective radio unit. We provide a shipping label that you can use * for the return process and we ship a replacement radio unit to you.

  • *
  • RETURN - Submits a request to return a radio unit that you * no longer need. We provide a shipping label that you can use for the return * process.

  • COMMITMENT - Submits a request to * change or renew the commitment period. If you choose this value, then you must * set * commitmentConfiguration .

*/ inline StartNetworkResourceUpdateRequest& WithUpdateType(UpdateType&& value) { SetUpdateType(std::move(value)); return *this;} private: CommitmentConfiguration m_commitmentConfiguration; bool m_commitmentConfigurationHasBeenSet = false; Aws::String m_networkResourceArn; bool m_networkResourceArnHasBeenSet = false; Aws::String m_returnReason; bool m_returnReasonHasBeenSet = false; Address m_shippingAddress; bool m_shippingAddressHasBeenSet = false; UpdateType m_updateType; bool m_updateTypeHasBeenSet = false; }; } // namespace Model } // namespace PrivateNetworks } // namespace Aws