<?php
// This file was auto-generated from sdk-root/src/data/budgets/2016-10-20/api-2.json
return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2016-10-20', 'endpointPrefix' => 'budgets', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWSBudgets', 'serviceFullName' => 'AWS Budgets', 'serviceId' => 'Budgets', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSBudgetServiceGateway', 'uid' => 'budgets-2016-10-20', ], 'operations' => [ 'CreateBudget' => [ 'name' => 'CreateBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBudgetRequest', ], 'output' => [ 'shape' => 'CreateBudgetResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'CreationLimitExceededException', ], [ 'shape' => 'DuplicateRecordException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateBudgetAction' => [ 'name' => 'CreateBudgetAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateBudgetActionRequest', ], 'output' => [ 'shape' => 'CreateBudgetActionResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'CreationLimitExceededException', ], [ 'shape' => 'DuplicateRecordException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateNotification' => [ 'name' => 'CreateNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateNotificationRequest', ], 'output' => [ 'shape' => 'CreateNotificationResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'CreationLimitExceededException', ], [ 'shape' => 'DuplicateRecordException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'CreateSubscriber' => [ 'name' => 'CreateSubscriber', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateSubscriberRequest', ], 'output' => [ 'shape' => 'CreateSubscriberResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'CreationLimitExceededException', ], [ 'shape' => 'DuplicateRecordException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteBudget' => [ 'name' => 'DeleteBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBudgetRequest', ], 'output' => [ 'shape' => 'DeleteBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteBudgetAction' => [ 'name' => 'DeleteBudgetAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteBudgetActionRequest', ], 'output' => [ 'shape' => 'DeleteBudgetActionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceLockedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteNotification' => [ 'name' => 'DeleteNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNotificationRequest', ], 'output' => [ 'shape' => 'DeleteNotificationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DeleteSubscriber' => [ 'name' => 'DeleteSubscriber', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSubscriberRequest', ], 'output' => [ 'shape' => 'DeleteSubscriberResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeBudget' => [ 'name' => 'DescribeBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetRequest', ], 'output' => [ 'shape' => 'DescribeBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeBudgetAction' => [ 'name' => 'DescribeBudgetAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetActionRequest', ], 'output' => [ 'shape' => 'DescribeBudgetActionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeBudgetActionHistories' => [ 'name' => 'DescribeBudgetActionHistories', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetActionHistoriesRequest', ], 'output' => [ 'shape' => 'DescribeBudgetActionHistoriesResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeBudgetActionsForAccount' => [ 'name' => 'DescribeBudgetActionsForAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetActionsForAccountRequest', ], 'output' => [ 'shape' => 'DescribeBudgetActionsForAccountResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeBudgetActionsForBudget' => [ 'name' => 'DescribeBudgetActionsForBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetActionsForBudgetRequest', ], 'output' => [ 'shape' => 'DescribeBudgetActionsForBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeBudgetNotificationsForAccount' => [ 'name' => 'DescribeBudgetNotificationsForAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetNotificationsForAccountRequest', ], 'output' => [ 'shape' => 'DescribeBudgetNotificationsForAccountResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeBudgetPerformanceHistory' => [ 'name' => 'DescribeBudgetPerformanceHistory', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetPerformanceHistoryRequest', ], 'output' => [ 'shape' => 'DescribeBudgetPerformanceHistoryResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeBudgets' => [ 'name' => 'DescribeBudgets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeBudgetsRequest', ], 'output' => [ 'shape' => 'DescribeBudgetsResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeNotificationsForBudget' => [ 'name' => 'DescribeNotificationsForBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeNotificationsForBudgetRequest', ], 'output' => [ 'shape' => 'DescribeNotificationsForBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'DescribeSubscribersForNotification' => [ 'name' => 'DescribeSubscribersForNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeSubscribersForNotificationRequest', ], 'output' => [ 'shape' => 'DescribeSubscribersForNotificationResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'ExpiredNextTokenException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'ExecuteBudgetAction' => [ 'name' => 'ExecuteBudgetAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExecuteBudgetActionRequest', ], 'output' => [ 'shape' => 'ExecuteBudgetActionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceLockedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateBudget' => [ 'name' => 'UpdateBudget', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateBudgetRequest', ], 'output' => [ 'shape' => 'UpdateBudgetResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateBudgetAction' => [ 'name' => 'UpdateBudgetAction', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateBudgetActionRequest', ], 'output' => [ 'shape' => 'UpdateBudgetActionResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ResourceLockedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateNotification' => [ 'name' => 'UpdateNotification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateNotificationRequest', ], 'output' => [ 'shape' => 'UpdateNotificationResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DuplicateRecordException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], 'UpdateSubscriber' => [ 'name' => 'UpdateSubscriber', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateSubscriberRequest', ], 'output' => [ 'shape' => 'UpdateSubscriberResponse', ], 'errors' => [ [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DuplicateRecordException', ], [ 'shape' => 'AccessDeniedException', ], [ 'shape' => 'ThrottlingException', ], ], ], ], 'shapes' => [ 'AccessDeniedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'AccountId' => [ 'type' => 'string', 'max' => 12, 'min' => 12, 'pattern' => '\\d{12}', ], 'Action' => [ 'type' => 'structure', 'required' => [ 'ActionId', 'BudgetName', 'NotificationType', 'ActionType', 'ActionThreshold', 'Definition', 'ExecutionRoleArn', 'ApprovalModel', 'Status', 'Subscribers', ], 'members' => [ 'ActionId' => [ 'shape' => 'ActionId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'NotificationType' => [ 'shape' => 'NotificationType', ], 'ActionType' => [ 'shape' => 'ActionType', ], 'ActionThreshold' => [ 'shape' => 'ActionThreshold', ], 'Definition' => [ 'shape' => 'Definition', ], 'ExecutionRoleArn' => [ 'shape' => 'RoleArn', ], 'ApprovalModel' => [ 'shape' => 'ApprovalModel', ], 'Status' => [ 'shape' => 'ActionStatus', ], 'Subscribers' => [ 'shape' => 'Subscribers', ], ], ], 'ActionHistories' => [ 'type' => 'list', 'member' => [ 'shape' => 'ActionHistory', ], 'max' => 100, 'min' => 0, ], 'ActionHistory' => [ 'type' => 'structure', 'required' => [ 'Timestamp', 'Status', 'EventType', 'ActionHistoryDetails', ], 'members' => [ 'Timestamp' => [ 'shape' => 'GenericTimestamp', ], 'Status' => [ 'shape' => 'ActionStatus', ], 'EventType' => [ 'shape' => 'EventType', ], 'ActionHistoryDetails' => [ 'shape' => 'ActionHistoryDetails', ], ], ], 'ActionHistoryDetails' => [ 'type' => 'structure', 'required' => [ 'Message', 'Action', ], 'members' => [ 'Message' => [ 'shape' => 'GenericString', ], 'Action' => [ 'shape' => 'Action', ], ], ], 'ActionId' => [ 'type' => 'string', 'max' => 36, 'min' => 36, 'pattern' => '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', ], 'ActionStatus' => [ 'type' => 'string', 'enum' => [ 'STANDBY', 'PENDING', 'EXECUTION_IN_PROGRESS', 'EXECUTION_SUCCESS', 'EXECUTION_FAILURE', 'REVERSE_IN_PROGRESS', 'REVERSE_SUCCESS', 'REVERSE_FAILURE', 'RESET_IN_PROGRESS', 'RESET_FAILURE', ], ], 'ActionSubType' => [ 'type' => 'string', 'enum' => [ 'STOP_EC2_INSTANCES', 'STOP_RDS_INSTANCES', ], ], 'ActionThreshold' => [ 'type' => 'structure', 'required' => [ 'ActionThresholdValue', 'ActionThresholdType', ], 'members' => [ 'ActionThresholdValue' => [ 'shape' => 'NotificationThreshold', ], 'ActionThresholdType' => [ 'shape' => 'ThresholdType', ], ], ], 'ActionType' => [ 'type' => 'string', 'enum' => [ 'APPLY_IAM_POLICY', 'APPLY_SCP_POLICY', 'RUN_SSM_DOCUMENTS', ], ], 'Actions' => [ 'type' => 'list', 'member' => [ 'shape' => 'Action', ], 'max' => 100, 'min' => 0, ], 'AdjustmentPeriod' => [ 'type' => 'integer', 'box' => true, 'max' => 60, 'min' => 1, ], 'ApprovalModel' => [ 'type' => 'string', 'enum' => [ 'AUTOMATIC', 'MANUAL', ], ], 'AutoAdjustData' => [ 'type' => 'structure', 'required' => [ 'AutoAdjustType', ], 'members' => [ 'AutoAdjustType' => [ 'shape' => 'AutoAdjustType', ], 'HistoricalOptions' => [ 'shape' => 'HistoricalOptions', ], 'LastAutoAdjustTime' => [ 'shape' => 'GenericTimestamp', ], ], ], 'AutoAdjustType' => [ 'type' => 'string', 'enum' => [ 'HISTORICAL', 'FORECAST', ], ], 'Budget' => [ 'type' => 'structure', 'required' => [ 'BudgetName', 'TimeUnit', 'BudgetType', ], 'members' => [ 'BudgetName' => [ 'shape' => 'BudgetName', ], 'BudgetLimit' => [ 'shape' => 'Spend', ], 'PlannedBudgetLimits' => [ 'shape' => 'PlannedBudgetLimits', ], 'CostFilters' => [ 'shape' => 'CostFilters', ], 'CostTypes' => [ 'shape' => 'CostTypes', ], 'TimeUnit' => [ 'shape' => 'TimeUnit', ], 'TimePeriod' => [ 'shape' => 'TimePeriod', ], 'CalculatedSpend' => [ 'shape' => 'CalculatedSpend', ], 'BudgetType' => [ 'shape' => 'BudgetType', ], 'LastUpdatedTime' => [ 'shape' => 'GenericTimestamp', ], 'AutoAdjustData' => [ 'shape' => 'AutoAdjustData', ], ], ], 'BudgetName' => [ 'type' => 'string', 'max' => 100, 'min' => 1, 'pattern' => '[^:\\\\]+', ], 'BudgetNotificationsForAccount' => [ 'type' => 'structure', 'members' => [ 'Notifications' => [ 'shape' => 'Notifications', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], ], ], 'BudgetNotificationsForAccountList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BudgetNotificationsForAccount', ], 'max' => 50, ], 'BudgetPerformanceHistory' => [ 'type' => 'structure', 'members' => [ 'BudgetName' => [ 'shape' => 'BudgetName', ], 'BudgetType' => [ 'shape' => 'BudgetType', ], 'CostFilters' => [ 'shape' => 'CostFilters', ], 'CostTypes' => [ 'shape' => 'CostTypes', ], 'TimeUnit' => [ 'shape' => 'TimeUnit', ], 'BudgetedAndActualAmountsList' => [ 'shape' => 'BudgetedAndActualAmountsList', ], ], ], 'BudgetType' => [ 'type' => 'string', 'enum' => [ 'USAGE', 'COST', 'RI_UTILIZATION', 'RI_COVERAGE', 'SAVINGS_PLANS_UTILIZATION', 'SAVINGS_PLANS_COVERAGE', ], ], 'BudgetedAndActualAmounts' => [ 'type' => 'structure', 'members' => [ 'BudgetedAmount' => [ 'shape' => 'Spend', ], 'ActualAmount' => [ 'shape' => 'Spend', ], 'TimePeriod' => [ 'shape' => 'TimePeriod', ], ], ], 'BudgetedAndActualAmountsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BudgetedAndActualAmounts', ], ], 'Budgets' => [ 'type' => 'list', 'member' => [ 'shape' => 'Budget', ], ], 'CalculatedSpend' => [ 'type' => 'structure', 'required' => [ 'ActualSpend', ], 'members' => [ 'ActualSpend' => [ 'shape' => 'Spend', ], 'ForecastedSpend' => [ 'shape' => 'Spend', ], ], ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'GREATER_THAN', 'LESS_THAN', 'EQUAL_TO', ], ], 'CostFilters' => [ 'type' => 'map', 'key' => [ 'shape' => 'GenericString', ], 'value' => [ 'shape' => 'DimensionValues', ], ], 'CostTypes' => [ 'type' => 'structure', 'members' => [ 'IncludeTax' => [ 'shape' => 'NullableBoolean', ], 'IncludeSubscription' => [ 'shape' => 'NullableBoolean', ], 'UseBlended' => [ 'shape' => 'NullableBoolean', ], 'IncludeRefund' => [ 'shape' => 'NullableBoolean', ], 'IncludeCredit' => [ 'shape' => 'NullableBoolean', ], 'IncludeUpfront' => [ 'shape' => 'NullableBoolean', ], 'IncludeRecurring' => [ 'shape' => 'NullableBoolean', ], 'IncludeOtherSubscription' => [ 'shape' => 'NullableBoolean', ], 'IncludeSupport' => [ 'shape' => 'NullableBoolean', ], 'IncludeDiscount' => [ 'shape' => 'NullableBoolean', ], 'UseAmortized' => [ 'shape' => 'NullableBoolean', ], ], ], 'CreateBudgetActionRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'NotificationType', 'ActionType', 'ActionThreshold', 'Definition', 'ExecutionRoleArn', 'ApprovalModel', 'Subscribers', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'NotificationType' => [ 'shape' => 'NotificationType', ], 'ActionType' => [ 'shape' => 'ActionType', ], 'ActionThreshold' => [ 'shape' => 'ActionThreshold', ], 'Definition' => [ 'shape' => 'Definition', ], 'ExecutionRoleArn' => [ 'shape' => 'RoleArn', ], 'ApprovalModel' => [ 'shape' => 'ApprovalModel', ], 'Subscribers' => [ 'shape' => 'Subscribers', ], ], ], 'CreateBudgetActionResponse' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'ActionId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'ActionId' => [ 'shape' => 'ActionId', ], ], ], 'CreateBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'Budget', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'Budget' => [ 'shape' => 'Budget', ], 'NotificationsWithSubscribers' => [ 'shape' => 'NotificationWithSubscribersList', ], ], ], 'CreateBudgetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', 'Subscribers', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'Subscribers' => [ 'shape' => 'Subscribers', ], ], ], 'CreateNotificationResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateSubscriberRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', 'Subscriber', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'Subscriber' => [ 'shape' => 'Subscriber', ], ], ], 'CreateSubscriberResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreationLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Definition' => [ 'type' => 'structure', 'members' => [ 'IamActionDefinition' => [ 'shape' => 'IamActionDefinition', ], 'ScpActionDefinition' => [ 'shape' => 'ScpActionDefinition', ], 'SsmActionDefinition' => [ 'shape' => 'SsmActionDefinition', ], ], ], 'DeleteBudgetActionRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'ActionId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'ActionId' => [ 'shape' => 'ActionId', ], ], ], 'DeleteBudgetActionResponse' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Action', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Action' => [ 'shape' => 'Action', ], ], ], 'DeleteBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], ], ], 'DeleteBudgetResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], ], ], 'DeleteNotificationResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteSubscriberRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', 'Subscriber', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'Subscriber' => [ 'shape' => 'Subscriber', ], ], ], 'DeleteSubscriberResponse' => [ 'type' => 'structure', 'members' => [], ], 'DescribeBudgetActionHistoriesRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'ActionId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'ActionId' => [ 'shape' => 'ActionId', ], 'TimePeriod' => [ 'shape' => 'TimePeriod', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetActionHistoriesResponse' => [ 'type' => 'structure', 'required' => [ 'ActionHistories', ], 'members' => [ 'ActionHistories' => [ 'shape' => 'ActionHistories', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetActionRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'ActionId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'ActionId' => [ 'shape' => 'ActionId', ], ], ], 'DescribeBudgetActionResponse' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Action', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Action' => [ 'shape' => 'Action', ], ], ], 'DescribeBudgetActionsForAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetActionsForAccountResponse' => [ 'type' => 'structure', 'required' => [ 'Actions', ], 'members' => [ 'Actions' => [ 'shape' => 'Actions', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetActionsForBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetActionsForBudgetResponse' => [ 'type' => 'structure', 'required' => [ 'Actions', ], 'members' => [ 'Actions' => [ 'shape' => 'Actions', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetNotificationsForAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'MaxResults' => [ 'shape' => 'MaxResultsBudgetNotifications', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetNotificationsForAccountResponse' => [ 'type' => 'structure', 'members' => [ 'BudgetNotificationsForAccount' => [ 'shape' => 'BudgetNotificationsForAccountList', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetPerformanceHistoryRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'TimePeriod' => [ 'shape' => 'TimePeriod', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetPerformanceHistoryResponse' => [ 'type' => 'structure', 'members' => [ 'BudgetPerformanceHistory' => [ 'shape' => 'BudgetPerformanceHistory', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], ], ], 'DescribeBudgetResponse' => [ 'type' => 'structure', 'members' => [ 'Budget' => [ 'shape' => 'Budget', ], ], ], 'DescribeBudgetsRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeBudgetsResponse' => [ 'type' => 'structure', 'members' => [ 'Budgets' => [ 'shape' => 'Budgets', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeNotificationsForBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeNotificationsForBudgetResponse' => [ 'type' => 'structure', 'members' => [ 'Notifications' => [ 'shape' => 'Notifications', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeSubscribersForNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'MaxResults' => [ 'shape' => 'MaxResults', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DescribeSubscribersForNotificationResponse' => [ 'type' => 'structure', 'members' => [ 'Subscribers' => [ 'shape' => 'Subscribers', ], 'NextToken' => [ 'shape' => 'GenericString', ], ], ], 'DimensionValue' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 0, 'pattern' => '[\\S\\s]*', ], 'DimensionValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'DimensionValue', ], ], 'DuplicateRecordException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'EventType' => [ 'type' => 'string', 'enum' => [ 'SYSTEM', 'CREATE_ACTION', 'DELETE_ACTION', 'UPDATE_ACTION', 'EXECUTE_ACTION', ], ], 'ExecuteBudgetActionRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'ActionId', 'ExecutionType', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'ActionId' => [ 'shape' => 'ActionId', ], 'ExecutionType' => [ 'shape' => 'ExecutionType', ], ], ], 'ExecuteBudgetActionResponse' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'ActionId', 'ExecutionType', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'ActionId' => [ 'shape' => 'ActionId', ], 'ExecutionType' => [ 'shape' => 'ExecutionType', ], ], ], 'ExecutionType' => [ 'type' => 'string', 'enum' => [ 'APPROVE_BUDGET_ACTION', 'RETRY_BUDGET_ACTION', 'REVERSE_BUDGET_ACTION', 'RESET_BUDGET_ACTION', ], ], 'ExpiredNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'GenericString' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 0, 'pattern' => '.*', ], 'GenericTimestamp' => [ 'type' => 'timestamp', ], 'Group' => [ 'type' => 'string', 'max' => 640, 'min' => 1, 'pattern' => '^([\\u0021-\\u007F]+\\u002F)?[\\w+=,.@-]+$', ], 'Groups' => [ 'type' => 'list', 'member' => [ 'shape' => 'Group', ], 'max' => 100, 'min' => 1, ], 'HistoricalOptions' => [ 'type' => 'structure', 'required' => [ 'BudgetAdjustmentPeriod', ], 'members' => [ 'BudgetAdjustmentPeriod' => [ 'shape' => 'AdjustmentPeriod', ], 'LookBackAvailablePeriods' => [ 'shape' => 'AdjustmentPeriod', ], ], ], 'IamActionDefinition' => [ 'type' => 'structure', 'required' => [ 'PolicyArn', ], 'members' => [ 'PolicyArn' => [ 'shape' => 'PolicyArn', ], 'Roles' => [ 'shape' => 'Roles', ], 'Groups' => [ 'shape' => 'Groups', ], 'Users' => [ 'shape' => 'Users', ], ], ], 'InstanceId' => [ 'type' => 'string', 'max' => 63, 'min' => 1, 'pattern' => '^i-(\\w{8}|\\w{17})$|^[a-zA-Z]([\\w-]{0,61}\\w)?$', ], 'InstanceIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceId', ], 'max' => 100, 'min' => 1, ], 'InternalErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidNextTokenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'MaxResults' => [ 'type' => 'integer', 'box' => true, 'max' => 100, 'min' => 1, ], 'MaxResultsBudgetNotifications' => [ 'type' => 'integer', 'box' => true, 'max' => 50, 'min' => 1, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Notification' => [ 'type' => 'structure', 'required' => [ 'NotificationType', 'ComparisonOperator', 'Threshold', ], 'members' => [ 'NotificationType' => [ 'shape' => 'NotificationType', ], 'ComparisonOperator' => [ 'shape' => 'ComparisonOperator', ], 'Threshold' => [ 'shape' => 'NotificationThreshold', ], 'ThresholdType' => [ 'shape' => 'ThresholdType', ], 'NotificationState' => [ 'shape' => 'NotificationState', ], ], ], 'NotificationState' => [ 'type' => 'string', 'enum' => [ 'OK', 'ALARM', ], ], 'NotificationThreshold' => [ 'type' => 'double', 'max' => 15000000000000, 'min' => 0, ], 'NotificationType' => [ 'type' => 'string', 'enum' => [ 'ACTUAL', 'FORECASTED', ], ], 'NotificationWithSubscribers' => [ 'type' => 'structure', 'required' => [ 'Notification', 'Subscribers', ], 'members' => [ 'Notification' => [ 'shape' => 'Notification', ], 'Subscribers' => [ 'shape' => 'Subscribers', ], ], ], 'NotificationWithSubscribersList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotificationWithSubscribers', ], 'max' => 10, ], 'Notifications' => [ 'type' => 'list', 'member' => [ 'shape' => 'Notification', ], ], 'NullableBoolean' => [ 'type' => 'boolean', 'box' => true, ], 'NumericValue' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 1, 'pattern' => '([0-9]*\\.)?[0-9]+', ], 'PlannedBudgetLimits' => [ 'type' => 'map', 'key' => [ 'shape' => 'GenericString', ], 'value' => [ 'shape' => 'Spend', ], ], 'PolicyArn' => [ 'type' => 'string', 'max' => 684, 'min' => 25, 'pattern' => '^arn:(aws|aws-cn|aws-us-gov|us-iso-east-1|us-isob-east-1):iam::(\\d{12}|aws):policy(\\u002F[\\u0021-\\u007F]+\\u002F|\\u002F)[\\w+=,.@-]+$', ], 'PolicyId' => [ 'type' => 'string', 'max' => 130, 'min' => 10, 'pattern' => '^p-[0-9a-zA-Z_]{8,128}$', ], 'Region' => [ 'type' => 'string', 'max' => 20, 'min' => 9, 'pattern' => '^\\w{2}-\\w+(-\\w+)?-\\d$', ], 'ResourceLockedException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'Role' => [ 'type' => 'string', 'max' => 576, 'min' => 1, 'pattern' => '^([\\u0021-\\u007F]+\\u002F)?[\\w+=,.@-]+$', ], 'RoleArn' => [ 'type' => 'string', 'max' => 618, 'min' => 32, 'pattern' => '^arn:(aws|aws-cn|aws-us-gov|us-iso-east-1|us-isob-east-1):iam::\\d{12}:role(\\u002F[\\u0021-\\u007F]+\\u002F|\\u002F)[\\w+=,.@-]+$', ], 'Roles' => [ 'type' => 'list', 'member' => [ 'shape' => 'Role', ], 'max' => 100, 'min' => 1, ], 'ScpActionDefinition' => [ 'type' => 'structure', 'required' => [ 'PolicyId', 'TargetIds', ], 'members' => [ 'PolicyId' => [ 'shape' => 'PolicyId', ], 'TargetIds' => [ 'shape' => 'TargetIds', ], ], ], 'Spend' => [ 'type' => 'structure', 'required' => [ 'Amount', 'Unit', ], 'members' => [ 'Amount' => [ 'shape' => 'NumericValue', ], 'Unit' => [ 'shape' => 'UnitValue', ], ], ], 'SsmActionDefinition' => [ 'type' => 'structure', 'required' => [ 'ActionSubType', 'Region', 'InstanceIds', ], 'members' => [ 'ActionSubType' => [ 'shape' => 'ActionSubType', ], 'Region' => [ 'shape' => 'Region', ], 'InstanceIds' => [ 'shape' => 'InstanceIds', ], ], ], 'Subscriber' => [ 'type' => 'structure', 'required' => [ 'SubscriptionType', 'Address', ], 'members' => [ 'SubscriptionType' => [ 'shape' => 'SubscriptionType', ], 'Address' => [ 'shape' => 'SubscriberAddress', ], ], ], 'SubscriberAddress' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 1, 'pattern' => '(.*[\\n\\r\\t\\f\\ ]?)*', 'sensitive' => true, ], 'Subscribers' => [ 'type' => 'list', 'member' => [ 'shape' => 'Subscriber', ], 'max' => 11, 'min' => 1, ], 'SubscriptionType' => [ 'type' => 'string', 'enum' => [ 'SNS', 'EMAIL', ], ], 'TargetId' => [ 'type' => 'string', 'max' => 68, 'min' => 12, 'pattern' => '^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$)|(\\d{12})', ], 'TargetIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetId', ], 'max' => 100, 'min' => 1, ], 'ThresholdType' => [ 'type' => 'string', 'enum' => [ 'PERCENTAGE', 'ABSOLUTE_VALUE', ], ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'TimePeriod' => [ 'type' => 'structure', 'members' => [ 'Start' => [ 'shape' => 'GenericTimestamp', ], 'End' => [ 'shape' => 'GenericTimestamp', ], ], ], 'TimeUnit' => [ 'type' => 'string', 'enum' => [ 'DAILY', 'MONTHLY', 'QUARTERLY', 'ANNUALLY', ], ], 'UnitValue' => [ 'type' => 'string', 'max' => 2147483647, 'min' => 1, 'pattern' => '.*', ], 'UpdateBudgetActionRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'ActionId', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'ActionId' => [ 'shape' => 'ActionId', ], 'NotificationType' => [ 'shape' => 'NotificationType', ], 'ActionThreshold' => [ 'shape' => 'ActionThreshold', ], 'Definition' => [ 'shape' => 'Definition', ], 'ExecutionRoleArn' => [ 'shape' => 'RoleArn', ], 'ApprovalModel' => [ 'shape' => 'ApprovalModel', ], 'Subscribers' => [ 'shape' => 'Subscribers', ], ], ], 'UpdateBudgetActionResponse' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'OldAction', 'NewAction', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'OldAction' => [ 'shape' => 'Action', ], 'NewAction' => [ 'shape' => 'Action', ], ], ], 'UpdateBudgetRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'NewBudget', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'NewBudget' => [ 'shape' => 'Budget', ], ], ], 'UpdateBudgetResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateNotificationRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'OldNotification', 'NewNotification', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'OldNotification' => [ 'shape' => 'Notification', ], 'NewNotification' => [ 'shape' => 'Notification', ], ], ], 'UpdateNotificationResponse' => [ 'type' => 'structure', 'members' => [], ], 'UpdateSubscriberRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', 'BudgetName', 'Notification', 'OldSubscriber', 'NewSubscriber', ], 'members' => [ 'AccountId' => [ 'shape' => 'AccountId', ], 'BudgetName' => [ 'shape' => 'BudgetName', ], 'Notification' => [ 'shape' => 'Notification', ], 'OldSubscriber' => [ 'shape' => 'Subscriber', ], 'NewSubscriber' => [ 'shape' => 'Subscriber', ], ], ], 'UpdateSubscriberResponse' => [ 'type' => 'structure', 'members' => [], ], 'User' => [ 'type' => 'string', 'max' => 576, 'min' => 1, 'pattern' => '^([\\u0021-\\u007F]+\\u002F)?[\\w+=,.@-]+$', ], 'Users' => [ 'type' => 'list', 'member' => [ 'shape' => 'User', ], 'max' => 100, 'min' => 1, ], 'errorMessage' => [ 'type' => 'string', ], ],];


<?php
// This file was auto-generated from sdk-root/src/data/budgets/2016-10-20/docs-2.json
return [ 'version' => '2.0', 'service' => '
Use the Amazon Web Services Budgets API to plan your service usage, service costs, and instance reservations. This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for the Amazon Web Services Budgets feature.

Budgets provide you with a way to see the following information:

How close your plan is to your budgeted amount or to the free tier limits

Your usage-to-date, including how much you\'ve used of your Reserved Instances (RIs)

Your current estimated charges from Amazon Web Services, and how much your predicted usage will accrue in charges by the end of the month

How much of your budget has been used

Amazon Web Services updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets:

 Cost budgets - Plan how much you want to spend on a service.

 Usage budgets - Plan how much you want to use one or more services.

 RI utilization budgets - Define a utilization threshold, and receive alerts when your RI usage falls below that threshold. This lets you see if your RIs are unused or under-utilized.

 RI coverage budgets - Define a coverage threshold, and receive alerts when the number of your instance hours that are covered by RIs fall below that threshold. This lets you see how much of your instance usage is covered by a reservation.

Service Endpoint

The Amazon Web Services Budgets API provides the following endpoint:

https://budgets.amazonaws.com

For information about costs that are associated with the Amazon Web Services Budgets API, see Amazon Web Services Cost Management Pricing.
', 'operations' => [ 'CreateBudget' => '
Creates a budget and, if included, notifications and subscribers.
 <important>
Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.
 </important>', 'CreateBudgetAction' => '
 Creates a budget action.
', 'CreateNotification' => '
Creates a notification. You must create the budget before you create the associated notification.
', 'CreateSubscriber' => '
Creates a subscriber. You must create the associated budget and notification before you create the subscriber.
', 'DeleteBudget' => '
Deletes a budget. You can delete your budget at any time.
 <important>
Deleting a budget also deletes the notifications and subscribers that are associated with that budget.
 </important>', 'DeleteBudgetAction' => '
 Deletes a budget action.
', 'DeleteNotification' => '
Deletes a notification.
 <important>
Deleting a notification also deletes the subscribers that are associated with the notification.
 </important>', 'DeleteSubscriber' => '
Deletes a subscriber.
 <important>
Deleting the last subscriber to a notification also deletes the notification.
 </important>', 'DescribeBudget' => '
Describes a budget.
 <important>
The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.
 </important>', 'DescribeBudgetAction' => '
 Describes a budget action detail.
', 'DescribeBudgetActionHistories' => '
 Describes a budget action history detail.
', 'DescribeBudgetActionsForAccount' => '
 Describes all of the budget actions for an account.
', 'DescribeBudgetActionsForBudget' => '
 Describes all of the budget actions for a budget.
', 'DescribeBudgetNotificationsForAccount' => '
 Lists the budget names and notifications that are associated with an account.
', 'DescribeBudgetPerformanceHistory' => '
Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn\'t available for ANNUAL budgets.
', 'DescribeBudgets' => '
Lists the budgets that are associated with an account.
 <important>
The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.
 </important>', 'DescribeNotificationsForBudget' => '
Lists the notifications that are associated with a budget.
', 'DescribeSubscribersForNotification' => '
Lists the subscribers that are associated with a notification.
', 'ExecuteBudgetAction' => '
 Executes a budget action.
', 'UpdateBudget' => '
Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until Amazon Web Services has new usage data to use for forecasting.
 <important>
Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.
 </important>', 'UpdateBudgetAction' => '
 Updates a budget action.
', 'UpdateNotification' => '
Updates a notification.
', 'UpdateSubscriber' => '
Updates a subscriber.
', ], 'shapes' => [ 'AccessDeniedException' => [ 'base' => '
You are not authorized to use this operation with the given parameters.
', 'refs' => [], ], 'AccountId' => [ 'base' => '
The account ID of the user. It\'s a 12-digit number.
', 'refs' => [ 'CreateBudgetActionRequest$AccountId' => NULL, 'CreateBudgetActionResponse$AccountId' => NULL, 'CreateBudgetRequest$AccountId' => '
The accountId that is associated with the budget.
', 'CreateNotificationRequest$AccountId' => '
The accountId that is associated with the budget that you want to create a notification for.
', 'CreateSubscriberRequest$AccountId' => '
The accountId that is associated with the budget that you want to create a subscriber for.
', 'DeleteBudgetActionRequest$AccountId' => NULL, 'DeleteBudgetActionResponse$AccountId' => NULL, 'DeleteBudgetRequest$AccountId' => '
The accountId that is associated with the budget that you want to delete.
', 'DeleteNotificationRequest$AccountId' => '
The accountId that is associated with the budget whose notification you want to delete.
', 'DeleteSubscriberRequest$AccountId' => '
The accountId that is associated with the budget whose subscriber you want to delete.
', 'DescribeBudgetActionHistoriesRequest$AccountId' => NULL, 'DescribeBudgetActionRequest$AccountId' => NULL, 'DescribeBudgetActionResponse$AccountId' => NULL, 'DescribeBudgetActionsForAccountRequest$AccountId' => NULL, 'DescribeBudgetActionsForBudgetRequest$AccountId' => NULL, 'DescribeBudgetNotificationsForAccountRequest$AccountId' => NULL, 'DescribeBudgetPerformanceHistoryRequest$AccountId' => NULL, 'DescribeBudgetRequest$AccountId' => '
The accountId that is associated with the budget that you want a description of.
', 'DescribeBudgetsRequest$AccountId' => '
The accountId that is associated with the budgets that you want descriptions of.
', 'DescribeNotificationsForBudgetRequest$AccountId' => '
The accountId that is associated with the budget whose notifications you want descriptions of.
', 'DescribeSubscribersForNotificationRequest$AccountId' => '
The accountId that is associated with the budget whose subscribers you want descriptions of.
', 'ExecuteBudgetActionRequest$AccountId' => NULL, 'ExecuteBudgetActionResponse$AccountId' => NULL, 'UpdateBudgetActionRequest$AccountId' => NULL, 'UpdateBudgetActionResponse$AccountId' => NULL, 'UpdateBudgetRequest$AccountId' => '
The accountId that is associated with the budget that you want to update.
', 'UpdateNotificationRequest$AccountId' => '
The accountId that is associated with the budget whose notification you want to update.
', 'UpdateSubscriberRequest$AccountId' => '
The accountId that is associated with the budget whose subscriber you want to update.
', ], ], 'Action' => [ 'base' => '
A budget action resource.
', 'refs' => [ 'ActionHistoryDetails$Action' => '
The budget action resource.
', 'Actions$member' => NULL, 'DeleteBudgetActionResponse$Action' => NULL, 'DescribeBudgetActionResponse$Action' => '
 A budget action resource.
', 'UpdateBudgetActionResponse$OldAction' => '
 The previous action resource information.
', 'UpdateBudgetActionResponse$NewAction' => '
 The updated action resource information.
', ], ], 'ActionHistories' => [ 'base' => NULL, 'refs' => [ 'DescribeBudgetActionHistoriesResponse$ActionHistories' => '
 The historical record of the budget action resource.
', ], ], 'ActionHistory' => [ 'base' => '
The historical records for a budget action.
', 'refs' => [ 'ActionHistories$member' => NULL, ], ], 'ActionHistoryDetails' => [ 'base' => '
The description of the details for the event.
', 'refs' => [ 'ActionHistory$ActionHistoryDetails' => '
The description of the details for the event.
', ], ], 'ActionId' => [ 'base' => NULL, 'refs' => [ 'Action$ActionId' => '
A system-generated universally unique identifier (UUID) for the action.
', 'CreateBudgetActionResponse$ActionId' => '
 A system-generated universally unique identifier (UUID) for the action.
', 'DeleteBudgetActionRequest$ActionId' => '
 A system-generated universally unique identifier (UUID) for the action.
', 'DescribeBudgetActionHistoriesRequest$ActionId' => '
 A system-generated universally unique identifier (UUID) for the action.
', 'DescribeBudgetActionRequest$ActionId' => '
 A system-generated universally unique identifier (UUID) for the action.
', 'ExecuteBudgetActionRequest$ActionId' => '
 A system-generated universally unique identifier (UUID) for the action.
', 'ExecuteBudgetActionResponse$ActionId' => '
 A system-generated universally unique identifier (UUID) for the action.
', 'UpdateBudgetActionRequest$ActionId' => '
 A system-generated universally unique identifier (UUID) for the action.
', ], ], 'ActionStatus' => [ 'base' => NULL, 'refs' => [ 'Action$Status' => '
The status of the action.
', 'ActionHistory$Status' => '
The status of action at the time of the event.
', ], ], 'ActionSubType' => [ 'base' => NULL, 'refs' => [ 'SsmActionDefinition$ActionSubType' => '
The action subType.
', ], ], 'ActionThreshold' => [ 'base' => '
The trigger threshold of the action.
', 'refs' => [ 'Action$ActionThreshold' => '
The trigger threshold of the action.
', 'CreateBudgetActionRequest$ActionThreshold' => NULL, 'UpdateBudgetActionRequest$ActionThreshold' => NULL, ], ], 'ActionType' => [ 'base' => NULL, 'refs' => [ 'Action$ActionType' => '
The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.
', 'CreateBudgetActionRequest$ActionType' => '
 The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.
', ], ], 'Actions' => [ 'base' => NULL, 'refs' => [ 'DescribeBudgetActionsForAccountResponse$Actions' => '
 A list of the budget action resources information.
', 'DescribeBudgetActionsForBudgetResponse$Actions' => '
 A list of the budget action resources information.
', ], ], 'AdjustmentPeriod' => [ 'base' => NULL, 'refs' => [ 'HistoricalOptions$BudgetAdjustmentPeriod' => '
The number of budget periods included in the moving-average calculation that determines your auto-adjusted budget amount. The maximum value depends on the TimeUnit granularity of the budget:

For the DAILY granularity, the maximum value is 60.

For the MONTHLY granularity, the maximum value is 12.

For the QUARTERLY granularity, the maximum value is 4.

For the ANNUALLY granularity, the maximum value is 1.

', 'HistoricalOptions$LookBackAvailablePeriods' => '
The integer that describes how many budget periods in your BudgetAdjustmentPeriod are included in the calculation of your current BudgetLimit. If the first budget period in your BudgetAdjustmentPeriod has no cost data, then that budget period isnâ€™t included in the average that determines your budget limit.

For example, if you set BudgetAdjustmentPeriod as 4 quarters, but your account had no cost data in the first quarter, then only the last three quarters are included in the calculation. In this scenario, LookBackAvailablePeriods returns 3.

You canâ€™t set your own LookBackAvailablePeriods. The value is automatically calculated from the BudgetAdjustmentPeriod and your historical cost data.
', ], ], 'ApprovalModel' => [ 'base' => NULL, 'refs' => [ 'Action$ApprovalModel' => '
This specifies if the action needs manual or automatic approval.
', 'CreateBudgetActionRequest$ApprovalModel' => '
 This specifies if the action needs manual or automatic approval.
', 'UpdateBudgetActionRequest$ApprovalModel' => '
 This specifies if the action needs manual or automatic approval.
', ], ], 'AutoAdjustData' => [ 'base' => '
The parameters that determine the budget amount for an auto-adjusting budget.
', 'refs' => [ 'Budget$AutoAdjustData' => '
The parameters that determine the budget amount for an auto-adjusting budget.
', ], ], 'AutoAdjustType' => [ 'base' => NULL, 'refs' => [ 'AutoAdjustData$AutoAdjustType' => '
The string that defines whether your budget auto-adjusts based on historical or forecasted data.
', ], ], 'Budget' => [ 'base' => '
Represents the output of the CreateBudget operation. The content consists of the detailed metadata and data file information, and the current status of the budget object.

This is the Amazon Resource Name (ARN) pattern for a budget:

 arn:aws:budgets::AccountId:budget/budgetName
', 'refs' => [ 'Budgets$member' => NULL, 'CreateBudgetRequest$Budget' => '
The budget object that you want to create.
', 'DescribeBudgetResponse$Budget' => '
The description of the budget.
', 'UpdateBudgetRequest$NewBudget' => '
The budget that you want to update your budget to.
', ], ], 'BudgetName' => [ 'base' => '
 A string that represents the budget name. The ":" and "\\" characters aren\'t allowed.
', 'refs' => [ 'Action$BudgetName' => NULL, 'Budget$BudgetName' => '
The name of a budget. The name must be unique within an account. The : and \\ characters aren\'t allowed in BudgetName.
', 'BudgetNotificationsForAccount$BudgetName' => NULL, 'BudgetPerformanceHistory$BudgetName' => NULL, 'CreateBudgetActionRequest$BudgetName' => NULL, 'CreateBudgetActionResponse$BudgetName' => NULL, 'CreateNotificationRequest$BudgetName' => '
The name of the budget that you want Amazon Web Services to notify you about. Budget names must be unique within an account.
', 'CreateSubscriberRequest$BudgetName' => '
The name of the budget that you want to subscribe to. Budget names must be unique within an account.
', 'DeleteBudgetActionRequest$BudgetName' => NULL, 'DeleteBudgetActionResponse$BudgetName' => NULL, 'DeleteBudgetRequest$BudgetName' => '
The name of the budget that you want to delete.
', 'DeleteNotificationRequest$BudgetName' => '
The name of the budget whose notification you want to delete.
', 'DeleteSubscriberRequest$BudgetName' => '
The name of the budget whose subscriber you want to delete.
', 'DescribeBudgetActionHistoriesRequest$BudgetName' => NULL, 'DescribeBudgetActionRequest$BudgetName' => NULL, 'DescribeBudgetActionResponse$BudgetName' => NULL, 'DescribeBudgetActionsForBudgetRequest$BudgetName' => NULL, 'DescribeBudgetPerformanceHistoryRequest$BudgetName' => NULL, 'DescribeBudgetRequest$BudgetName' => '
The name of the budget that you want a description of.
', 'DescribeNotificationsForBudgetRequest$BudgetName' => '
The name of the budget whose notifications you want descriptions of.
', 'DescribeSubscribersForNotificationRequest$BudgetName' => '
The name of the budget whose subscribers you want descriptions of.
', 'ExecuteBudgetActionRequest$BudgetName' => NULL, 'ExecuteBudgetActionResponse$BudgetName' => NULL, 'UpdateBudgetActionRequest$BudgetName' => NULL, 'UpdateBudgetActionResponse$BudgetName' => NULL, 'UpdateNotificationRequest$BudgetName' => '
The name of the budget whose notification you want to update.
', 'UpdateSubscriberRequest$BudgetName' => '
The name of the budget whose subscriber you want to update.
', ], ], 'BudgetNotificationsForAccount' => [ 'base' => '
 The budget name and associated notifications for an account.
', 'refs' => [ 'BudgetNotificationsForAccountList$member' => NULL, ], ], 'BudgetNotificationsForAccountList' => [ 'base' => NULL, 'refs' => [ 'DescribeBudgetNotificationsForAccountResponse$BudgetNotificationsForAccount' => '
 A list of budget names and associated notifications for an account.
', ], ], 'BudgetPerformanceHistory' => [ 'base' => '
A history of the state of a budget at the end of the budget\'s specified time period.
', 'refs' => [ 'DescribeBudgetPerformanceHistoryResponse$BudgetPerformanceHistory' => '
The history of how often the budget has gone into an ALARM state.

For DAILY budgets, the history saves the state of the budget for the last 60 days. For MONTHLY budgets, the history saves the state of the budget for the current month plus the last 12 months. For QUARTERLY budgets, the history saves the state of the budget for the last four quarters.
', ], ], 'BudgetType' => [ 'base' => '
 The type of a budget. It must be one of the following types:

 COST, USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, or SAVINGS_PLANS_COVERAGE.
', 'refs' => [ 'Budget$BudgetType' => '
Specifies whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.
', 'BudgetPerformanceHistory$BudgetType' => NULL, ], ], 'BudgetedAndActualAmounts' => [ 'base' => '
The amount of cost or usage that you created the budget for, compared to your actual costs or usage.
', 'refs' => [ 'BudgetedAndActualAmountsList$member' => NULL, ], ], 'BudgetedAndActualAmountsList' => [ 'base' => NULL, 'refs' => [ 'BudgetPerformanceHistory$BudgetedAndActualAmountsList' => '
A list of amounts of cost or usage that you created budgets for, which are compared to your actual costs or usage.
', ], ], 'Budgets' => [ 'base' => '
 A list of budgets.
', 'refs' => [ 'DescribeBudgetsResponse$Budgets' => '
A list of budgets.
', ], ], 'CalculatedSpend' => [ 'base' => '
The spend objects that are associated with this budget. The actualSpend tracks how much you\'ve used, cost, usage, RI units, or Savings Plans units and the forecastedSpend tracks how much that you\'re predicted to spend based on your historical usage profile.

For example, if it\'s the 20th of the month and you have spent 50 dollars on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 USD.
', 'refs' => [ 'Budget$CalculatedSpend' => '
The actual and forecasted cost or usage that the budget tracks.
', ], ], 'ComparisonOperator' => [ 'base' => '
 The comparison operator of a notification. Currently, the service supports the following operators:

 GREATER_THAN, LESS_THAN, EQUAL_TO
', 'refs' => [ 'Notification$ComparisonOperator' => '
The comparison that\'s used for this notification.
', ], ], 'CostFilters' => [ 'base' => '
 A map that represents the cost filters that are applied to the budget.
', 'refs' => [ 'Budget$CostFilters' => '
The cost filters, such as Region, Service, member account, Tag, or Cost Category, that are applied to a budget.

Amazon Web Services Budgets supports the following services as a Service filter for RI budgets:

Amazon EC2

Amazon Redshift

Amazon Relational Database Service

Amazon ElastiCache

Amazon OpenSearch Service

', 'BudgetPerformanceHistory$CostFilters' => '
The history of the cost filters for a budget during the specified time period.
', ], ], 'CostTypes' => [ 'base' => '
The types of cost that are included in a COST budget, such as tax and subscriptions.

 USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE budgets don\'t have CostTypes.
', 'refs' => [ 'Budget$CostTypes' => '
The types of costs that are included in this COST budget.

 USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE budgets do not have CostTypes.
', 'BudgetPerformanceHistory$CostTypes' => '
The history of the cost types for a budget during the specified time period.
', ], ], 'CreateBudgetActionRequest' => [ 'base' => NULL, 'refs' => [], ], 'CreateBudgetActionResponse' => [ 'base' => NULL, 'refs' => [], ], 'CreateBudgetRequest' => [ 'base' => '
 Request of CreateBudget
', 'refs' => [], ], 'CreateBudgetResponse' => [ 'base' => '
 Response of CreateBudget
', 'refs' => [], ], 'CreateNotificationRequest' => [ 'base' => '
 Request of CreateNotification
', 'refs' => [], ], 'CreateNotificationResponse' => [ 'base' => '
 Response of CreateNotification
', 'refs' => [], ], 'CreateSubscriberRequest' => [ 'base' => '
 Request of CreateSubscriber
', 'refs' => [], ], 'CreateSubscriberResponse' => [ 'base' => '
 Response of CreateSubscriber
', 'refs' => [], ], 'CreationLimitExceededException' => [ 'base' => '
You\'ve exceeded the notification or subscriber limit.
', 'refs' => [], ], 'Definition' => [ 'base' => '
Specifies all of the type-specific parameters.
', 'refs' => [ 'Action$Definition' => '
Where you specify all of the type-specific parameters.
', 'CreateBudgetActionRequest$Definition' => NULL, 'UpdateBudgetActionRequest$Definition' => NULL, ], ], 'DeleteBudgetActionRequest' => [ 'base' => NULL, 'refs' => [], ], 'DeleteBudgetActionResponse' => [ 'base' => NULL, 'refs' => [], ], 'DeleteBudgetRequest' => [ 'base' => '
 Request of DeleteBudget
', 'refs' => [], ], 'DeleteBudgetResponse' => [ 'base' => '
 Response of DeleteBudget
', 'refs' => [], ], 'DeleteNotificationRequest' => [ 'base' => '
 Request of DeleteNotification
', 'refs' => [], ], 'DeleteNotificationResponse' => [ 'base' => '
 Response of DeleteNotification
', 'refs' => [], ], 'DeleteSubscriberRequest' => [ 'base' => '
 Request of DeleteSubscriber
', 'refs' => [], ], 'DeleteSubscriberResponse' => [ 'base' => '
 Response of DeleteSubscriber
', 'refs' => [], ], 'DescribeBudgetActionHistoriesRequest' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetActionHistoriesResponse' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetActionRequest' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetActionResponse' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetActionsForAccountRequest' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetActionsForAccountResponse' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetActionsForBudgetRequest' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetActionsForBudgetResponse' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetNotificationsForAccountRequest' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetNotificationsForAccountResponse' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetPerformanceHistoryRequest' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetPerformanceHistoryResponse' => [ 'base' => NULL, 'refs' => [], ], 'DescribeBudgetRequest' => [ 'base' => '
 Request of DescribeBudget
', 'refs' => [], ], 'DescribeBudgetResponse' => [ 'base' => '
 Response of DescribeBudget
', 'refs' => [], ], 'DescribeBudgetsRequest' => [ 'base' => '
 Request of DescribeBudgets
', 'refs' => [], ], 'DescribeBudgetsResponse' => [ 'base' => '
 Response of DescribeBudgets
', 'refs' => [], ], 'DescribeNotificationsForBudgetRequest' => [ 'base' => '
 Request of DescribeNotificationsForBudget
', 'refs' => [], ], 'DescribeNotificationsForBudgetResponse' => [ 'base' => '
 Response of GetNotificationsForBudget
', 'refs' => [], ], 'DescribeSubscribersForNotificationRequest' => [ 'base' => '
 Request of DescribeSubscribersForNotification
', 'refs' => [], ], 'DescribeSubscribersForNotificationResponse' => [ 'base' => '
 Response of DescribeSubscribersForNotification
', 'refs' => [], ], 'DimensionValue' => [ 'base' => NULL, 'refs' => [ 'DimensionValues$member' => NULL, ], ], 'DimensionValues' => [ 'base' => NULL, 'refs' => [ 'CostFilters$value' => NULL, ], ], 'DuplicateRecordException' => [ 'base' => '
The budget name already exists. Budget names must be unique within an account.
', 'refs' => [], ], 'EventType' => [ 'base' => NULL, 'refs' => [ 'ActionHistory$EventType' => '
This distinguishes between whether the events are triggered by the user or are generated by the system.
', ], ], 'ExecuteBudgetActionRequest' => [ 'base' => NULL, 'refs' => [], ], 'ExecuteBudgetActionResponse' => [ 'base' => NULL, 'refs' => [], ], 'ExecutionType' => [ 'base' => NULL, 'refs' => [ 'ExecuteBudgetActionRequest$ExecutionType' => '
 The type of execution.
', 'ExecuteBudgetActionResponse$ExecutionType' => '
 The type of execution.
', ], ], 'ExpiredNextTokenException' => [ 'base' => '
The pagination token expired.
', 'refs' => [], ], 'GenericString' => [ 'base' => '
 A generic string.
', 'refs' => [ 'ActionHistoryDetails$Message' => NULL, 'CostFilters$key' => NULL, 'DescribeBudgetActionHistoriesRequest$NextToken' => NULL, 'DescribeBudgetActionHistoriesResponse$NextToken' => NULL, 'DescribeBudgetActionsForAccountRequest$NextToken' => NULL, 'DescribeBudgetActionsForAccountResponse$NextToken' => NULL, 'DescribeBudgetActionsForBudgetRequest$NextToken' => NULL, 'DescribeBudgetActionsForBudgetResponse$NextToken' => NULL, 'DescribeBudgetNotificationsForAccountRequest$NextToken' => NULL, 'DescribeBudgetNotificationsForAccountResponse$NextToken' => NULL, 'DescribeBudgetPerformanceHistoryRequest$NextToken' => NULL, 'DescribeBudgetPerformanceHistoryResponse$NextToken' => NULL, 'DescribeBudgetsRequest$NextToken' => '
The pagination token that you include in your request to indicate the next set of results that you want to retrieve.
', 'DescribeBudgetsResponse$NextToken' => '
The pagination token in the service response that indicates the next set of results that you can retrieve.
', 'DescribeNotificationsForBudgetRequest$NextToken' => '
The pagination token that you include in your request to indicate the next set of results that you want to retrieve.
', 'DescribeNotificationsForBudgetResponse$NextToken' => '
The pagination token in the service response that indicates the next set of results that you can retrieve.
', 'DescribeSubscribersForNotificationRequest$NextToken' => '
The pagination token that you include in your request to indicate the next set of results that you want to retrieve.
', 'DescribeSubscribersForNotificationResponse$NextToken' => '
The pagination token in the service response that indicates the next set of results that you can retrieve.
', 'PlannedBudgetLimits$key' => NULL, ], ], 'GenericTimestamp' => [ 'base' => '
 A generic time stamp. In Java, it\'s transformed to a Date object.
', 'refs' => [ 'ActionHistory$Timestamp' => NULL, 'AutoAdjustData$LastAutoAdjustTime' => '
The last time that your budget was auto-adjusted.
', 'Budget$LastUpdatedTime' => '
The last time that you updated this budget.
', 'TimePeriod$Start' => '
The start date for a budget. If you created your budget and didn\'t specify a start date, Amazon Web Services defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn\'t set a start date, Amazon Web Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon Web Services set your start date to 01/01/18 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

You can change your start date with the UpdateBudget operation.
', 'TimePeriod$End' => '
The end date for a budget. If you didn\'t specify an end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

After the end date, Amazon Web Services deletes the budget and all the associated notifications and subscribers. You can change your end date with the UpdateBudget operation.
', ], ], 'Group' => [ 'base' => NULL, 'refs' => [ 'Groups$member' => NULL, ], ], 'Groups' => [ 'base' => NULL, 'refs' => [ 'IamActionDefinition$Groups' => '
A list of groups to be attached. There must be at least one group.
', ], ], 'HistoricalOptions' => [ 'base' => '
The parameters that define or describe the historical data that your auto-adjusting budget is based on.
', 'refs' => [ 'AutoAdjustData$HistoricalOptions' => '
The parameters that define or describe the historical data that your auto-adjusting budget is based on.
', ], ], 'IamActionDefinition' => [ 'base' => '
The Identity and Access Management (IAM) action definition details.
', 'refs' => [ 'Definition$IamActionDefinition' => '
The Identity and Access Management (IAM) action definition details.
', ], ], 'InstanceId' => [ 'base' => NULL, 'refs' => [ 'InstanceIds$member' => NULL, ], ], 'InstanceIds' => [ 'base' => NULL, 'refs' => [ 'SsmActionDefinition$InstanceIds' => '
The EC2 and RDS instance IDs.
', ], ], 'InternalErrorException' => [ 'base' => '
An error on the server occurred during the processing of your request. Try again later.
', 'refs' => [], ], 'InvalidNextTokenException' => [ 'base' => '
The pagination token is invalid.
', 'refs' => [], ], 'InvalidParameterException' => [ 'base' => '
An error on the client occurred. Typically, the cause is an invalid input value.
', 'refs' => [], ], 'MaxResults' => [ 'base' => '
 An integer that represents how many entries a paginated response contains. The maximum is 100.
', 'refs' => [ 'DescribeBudgetActionHistoriesRequest$MaxResults' => NULL, 'DescribeBudgetActionsForAccountRequest$MaxResults' => NULL, 'DescribeBudgetActionsForBudgetRequest$MaxResults' => NULL, 'DescribeBudgetPerformanceHistoryRequest$MaxResults' => NULL, 'DescribeBudgetsRequest$MaxResults' => '
An optional integer that represents how many entries a paginated response contains. The maximum is 100.
', 'DescribeNotificationsForBudgetRequest$MaxResults' => '
An optional integer that represents how many entries a paginated response contains. The maximum is 100.
', 'DescribeSubscribersForNotificationRequest$MaxResults' => '
An optional integer that represents how many entries a paginated response contains. The maximum is 100.
', ], ], 'MaxResultsBudgetNotifications' => [ 'base' => NULL, 'refs' => [ 'DescribeBudgetNotificationsForAccountRequest$MaxResults' => '
 An integer that shows how many budget name entries a paginated response contains.
', ], ], 'NotFoundException' => [ 'base' => '
We canâ€™t locate the resource that you specified.
', 'refs' => [], ], 'Notification' => [ 'base' => '
A notification that\'s associated with a budget. A budget can have up to ten notifications.

Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:

A notificationType of ACTUAL

A thresholdType of PERCENTAGE

A comparisonOperator of GREATER_THAN

A notification threshold of 80

', 'refs' => [ 'CreateNotificationRequest$Notification' => '
The notification that you want to create.
', 'CreateSubscriberRequest$Notification' => '
The notification that you want to create a subscriber for.
', 'DeleteNotificationRequest$Notification' => '
The notification that you want to delete.
', 'DeleteSubscriberRequest$Notification' => '
The notification whose subscriber you want to delete.
', 'DescribeSubscribersForNotificationRequest$Notification' => '
The notification whose subscribers you want to list.
', 'NotificationWithSubscribers$Notification' => '
The notification that\'s associated with a budget.
', 'Notifications$member' => NULL, 'UpdateNotificationRequest$OldNotification' => '
The previous notification that is associated with a budget.
', 'UpdateNotificationRequest$NewNotification' => '
The updated notification to be associated with a budget.
', 'UpdateSubscriberRequest$Notification' => '
The notification whose subscriber you want to update.
', ], ], 'NotificationState' => [ 'base' => NULL, 'refs' => [ 'Notification$NotificationState' => '
Specifies whether this notification is in alarm. If a budget notification is in the ALARM state, you passed the set threshold for the budget.
', ], ], 'NotificationThreshold' => [ 'base' => '
 The threshold of a notification.
', 'refs' => [ 'ActionThreshold$ActionThresholdValue' => NULL, 'Notification$Threshold' => '
The threshold that\'s associated with a notification. Thresholds are always a percentage, and many customers find value being alerted between 50% - 200% of the budgeted amount. The maximum limit for your threshold is 1,000,000% above the budgeted amount.
', ], ], 'NotificationType' => [ 'base' => '
 The type of a notification. It must be ACTUAL or FORECASTED.
', 'refs' => [ 'Action$NotificationType' => NULL, 'CreateBudgetActionRequest$NotificationType' => NULL, 'Notification$NotificationType' => '
Specifies whether the notification is for how much you have spent (ACTUAL) or for how much that you\'re forecasted to spend (FORECASTED).
', 'UpdateBudgetActionRequest$NotificationType' => NULL, ], ], 'NotificationWithSubscribers' => [ 'base' => '
A notification with subscribers. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.
', 'refs' => [ 'NotificationWithSubscribersList$member' => NULL, ], ], 'NotificationWithSubscribersList' => [ 'base' => '
 A list of notifications, each with a list of subscribers.
', 'refs' => [ 'CreateBudgetRequest$NotificationsWithSubscribers' => '
A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your CreateBudget call, Amazon Web Services creates the notifications and subscribers for you.
', ], ], 'Notifications' => [ 'base' => '
 A list of notifications.
', 'refs' => [ 'BudgetNotificationsForAccount$Notifications' => NULL, 'DescribeNotificationsForBudgetResponse$Notifications' => '
A list of notifications that are associated with a budget.
', ], ], 'NullableBoolean' => [ 'base' => NULL, 'refs' => [ 'CostTypes$IncludeTax' => '
Specifies whether a budget includes taxes.

The default value is true.
', 'CostTypes$IncludeSubscription' => '
Specifies whether a budget includes subscriptions.

The default value is true.
', 'CostTypes$UseBlended' => '
Specifies whether a budget uses a blended rate.

The default value is false.
', 'CostTypes$IncludeRefund' => '
Specifies whether a budget includes refunds.

The default value is true.
', 'CostTypes$IncludeCredit' => '
Specifies whether a budget includes credits.

The default value is true.
', 'CostTypes$IncludeUpfront' => '
Specifies whether a budget includes upfront RI costs.

The default value is true.
', 'CostTypes$IncludeRecurring' => '
Specifies whether a budget includes recurring fees such as monthly RI fees.

The default value is true.
', 'CostTypes$IncludeOtherSubscription' => '
Specifies whether a budget includes non-RI subscription costs.

The default value is true.
', 'CostTypes$IncludeSupport' => '
Specifies whether a budget includes support subscription fees.

The default value is true.
', 'CostTypes$IncludeDiscount' => '
Specifies whether a budget includes discounts.

The default value is true.
', 'CostTypes$UseAmortized' => '
Specifies whether a budget uses the amortized rate.

The default value is false.
', ], ], 'NumericValue' => [ 'base' => '
 A string that represents a numeric value.
', 'refs' => [ 'Spend$Amount' => '
The cost or usage amount that\'s associated with a budget forecast, actual spend, or budget threshold.
', ], ], 'PlannedBudgetLimits' => [ 'base' => NULL, 'refs' => [ 'Budget$PlannedBudgetLimits' => '
A map containing multiple BudgetLimit, including current or future limits.

 PlannedBudgetLimits is available for cost or usage budget and supports both monthly and quarterly TimeUnit.

For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

For quarterly budgets, provide four quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next three quarters. The key is the start of the quarter, UTC in epoch seconds.

If the planned budget expires before 12 months for monthly or four quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

 DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets that are created with PlannedBudgetLimits. Budgets that are created without PlannedBudgetLimits only contain BudgetLimit. They don\'t contain PlannedBudgetLimits.
', ], ], 'PolicyArn' => [ 'base' => NULL, 'refs' => [ 'IamActionDefinition$PolicyArn' => '
The Amazon Resource Name (ARN) of the policy to be attached.
', ], ], 'PolicyId' => [ 'base' => NULL, 'refs' => [ 'ScpActionDefinition$PolicyId' => '
The policy ID attached.
', ], ], 'Region' => [ 'base' => NULL, 'refs' => [ 'SsmActionDefinition$Region' => '
The Region to run the SSM document.
', ], ], 'ResourceLockedException' => [ 'base' => '
 The request was received and recognized by the server, but the server rejected that particular method for the requested resource.
', 'refs' => [], ], 'Role' => [ 'base' => NULL, 'refs' => [ 'Roles$member' => NULL, ], ], 'RoleArn' => [ 'base' => NULL, 'refs' => [ 'Action$ExecutionRoleArn' => '
The role passed for action execution and reversion. Roles and actions must be in the same account.
', 'CreateBudgetActionRequest$ExecutionRoleArn' => '
 The role passed for action execution and reversion. Roles and actions must be in the same account.
', 'UpdateBudgetActionRequest$ExecutionRoleArn' => '
 The role passed for action execution and reversion. Roles and actions must be in the same account.
', ], ], 'Roles' => [ 'base' => NULL, 'refs' => [ 'IamActionDefinition$Roles' => '
A list of roles to be attached. There must be at least one role.
', ], ], 'ScpActionDefinition' => [ 'base' => '
The service control policies (SCP) action definition details.
', 'refs' => [ 'Definition$ScpActionDefinition' => '
The service control policies (SCPs) action definition details.
', ], ], 'Spend' => [ 'base' => '
The amount of cost or usage that\'s measured for a budget.

For example, a Spend for 3 GB of S3 usage has the following parameters:

An Amount of 3

A unit of GB

', 'refs' => [ 'Budget$BudgetLimit' => '
The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget.

 BudgetLimit is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to 100. This is the only valid value for RI or Savings Plans utilization or coverage budgets. You can\'t use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget actions.
', 'BudgetedAndActualAmounts$BudgetedAmount' => '
The amount of cost or usage that you created the budget for.
', 'BudgetedAndActualAmounts$ActualAmount' => '
Your actual costs or usage for a budget period.
', 'CalculatedSpend$ActualSpend' => '
The amount of cost, usage, RI units, or Savings Plans units that you used.
', 'CalculatedSpend$ForecastedSpend' => '
The amount of cost, usage, RI units, or Savings Plans units that you\'re forecasted to use.
', 'PlannedBudgetLimits$value' => NULL, ], ], 'SsmActionDefinition' => [ 'base' => '
The Amazon Web Services Systems Manager (SSM) action definition details.
', 'refs' => [ 'Definition$SsmActionDefinition' => '
The Amazon Web Services Systems Manager (SSM) action definition details.
', ], ], 'Subscriber' => [ 'base' => '
The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

For example, an email subscriber has the following parameters:

A subscriptionType of EMAIL

An address of example@example.com

', 'refs' => [ 'CreateSubscriberRequest$Subscriber' => '
The subscriber that you want to associate with a budget notification.
', 'DeleteSubscriberRequest$Subscriber' => '
The subscriber that you want to delete.
', 'Subscribers$member' => NULL, 'UpdateSubscriberRequest$OldSubscriber' => '
The previous subscriber that is associated with a budget notification.
', 'UpdateSubscriberRequest$NewSubscriber' => '
The updated subscriber that is associated with a budget notification.
', ], ], 'SubscriberAddress' => [ 'base' => '
 A string that contains an email address or SNS topic for the subscriber\'s address.
', 'refs' => [ 'Subscriber$Address' => '
The address that Amazon Web Services sends budget notifications to, either an SNS topic or an email.

When you create a subscriber, the value of Address can\'t contain line breaks.
', ], ], 'Subscribers' => [ 'base' => '
 A list of subscribers.
', 'refs' => [ 'Action$Subscribers' => NULL, 'CreateBudgetActionRequest$Subscribers' => NULL, 'CreateNotificationRequest$Subscribers' => '
A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.
', 'DescribeSubscribersForNotificationResponse$Subscribers' => '
A list of subscribers that are associated with a notification.
', 'NotificationWithSubscribers$Subscribers' => '
A list of subscribers who are subscribed to this notification.
', 'UpdateBudgetActionRequest$Subscribers' => NULL, ], ], 'SubscriptionType' => [ 'base' => '
 The subscription type of the subscriber. It can be SMS or EMAIL.
', 'refs' => [ 'Subscriber$SubscriptionType' => '
The type of notification that Amazon Web Services sends to a subscriber.
', ], ], 'TargetId' => [ 'base' => NULL, 'refs' => [ 'TargetIds$member' => NULL, ], ], 'TargetIds' => [ 'base' => NULL, 'refs' => [ 'ScpActionDefinition$TargetIds' => '
A list of target IDs.
', ], ], 'ThresholdType' => [ 'base' => '
 The type of threshold for a notification.
', 'refs' => [ 'ActionThreshold$ActionThresholdType' => NULL, 'Notification$ThresholdType' => '
The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, Amazon Web Services notifies you when you go over or are forecasted to go over your total cost threshold. For PERCENTAGE thresholds, Amazon Web Services notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a PERCENTAGE threshold of 80%, Amazon Web Services notifies you when you go over 160 dollars.
', ], ], 'ThrottlingException' => [ 'base' => '
 The number of API requests has exceeded the maximum allowed API request throttling limit for the account.
', 'refs' => [], ], 'TimePeriod' => [ 'base' => '
The period of time that\'s covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.
', 'refs' => [ 'Budget$TimePeriod' => '
The period of time that\'s covered by a budget. You setthe start date and end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC.

If you create your budget and don\'t specify a start date, Amazon Web Services defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn\'t set a start date, Amazon Web Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon Web Services set your start date to 01/01/18 00:00 UTC. If you didn\'t specify an end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

You can change either date with the UpdateBudget operation.

After the end date, Amazon Web Services deletes the budget and all the associated notifications and subscribers.
', 'BudgetedAndActualAmounts$TimePeriod' => '
The time period that\'s covered by this budget comparison.
', 'DescribeBudgetActionHistoriesRequest$TimePeriod' => NULL, 'DescribeBudgetPerformanceHistoryRequest$TimePeriod' => '
Retrieves how often the budget went into an ALARM state for the specified time period.
', ], ], 'TimeUnit' => [ 'base' => '
 The time unit of the budget, such as MONTHLY or QUARTERLY.
', 'refs' => [ 'Budget$TimeUnit' => '
The length of time until a budget resets the actual and forecasted spend.
', 'BudgetPerformanceHistory$TimeUnit' => NULL, ], ], 'UnitValue' => [ 'base' => '
 A string that represents the spend unit of a budget. It can\'t be null or empty.
', 'refs' => [ 'Spend$Unit' => '
The unit of measurement that\'s used for the budget forecast, actual spend, or budget threshold, such as USD or GBP.
', ], ], 'UpdateBudgetActionRequest' => [ 'base' => NULL, 'refs' => [], ], 'UpdateBudgetActionResponse' => [ 'base' => NULL, 'refs' => [], ], 'UpdateBudgetRequest' => [ 'base' => '
 Request of UpdateBudget
', 'refs' => [], ], 'UpdateBudgetResponse' => [ 'base' => '
 Response of UpdateBudget
', 'refs' => [], ], 'UpdateNotificationRequest' => [ 'base' => '
 Request of UpdateNotification
', 'refs' => [], ], 'UpdateNotificationResponse' => [ 'base' => '
 Response of UpdateNotification
', 'refs' => [], ], 'UpdateSubscriberRequest' => [ 'base' => '
 Request of UpdateSubscriber
', 'refs' => [], ], 'UpdateSubscriberResponse' => [ 'base' => '
 Response of UpdateSubscriber
', 'refs' => [], ], 'User' => [ 'base' => NULL, 'refs' => [ 'Users$member' => NULL, ], ], 'Users' => [ 'base' => NULL, 'refs' => [ 'IamActionDefinition$Users' => '
A list of users to be attached. There must be at least one user.
', ], ], 'errorMessage' => [ 'base' => '
The error message the exception carries.
', 'refs' => [ 'AccessDeniedException$Message' => NULL, 'CreationLimitExceededException$Message' => NULL, 'DuplicateRecordException$Message' => NULL, 'ExpiredNextTokenException$Message' => NULL, 'InternalErrorException$Message' => NULL, 'InvalidNextTokenException$Message' => NULL, 'InvalidParameterException$Message' => NULL, 'NotFoundException$Message' => NULL, 'ResourceLockedException$Message' => NULL, 'ThrottlingException$Message' => NULL, ], ], ],];


<?php
// This file was auto-generated from sdk-root/src/data/budgets/2016-10-20/endpoint-rule-set-1.json
return [ 'version' => '1.0', 'parameters' => [ 'Region' => [ 'builtIn' => 'AWS::Region', 'required' => false, 'documentation' => 'The AWS region used to dispatch the request.', 'type' => 'String', ], 'UseDualStack' => [ 'builtIn' => 'AWS::UseDualStack', 'required' => true, 'default' => false, 'documentation' => 'When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.', 'type' => 'Boolean', ], 'UseFIPS' => [ 'builtIn' => 'AWS::UseFIPS', 'required' => true, 'default' => false, 'documentation' => 'When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.', 'type' => 'Boolean', ], 'Endpoint' => [ 'builtIn' => 'SDK::Endpoint', 'required' => false, 'documentation' => 'Override the endpoint used to send this request', 'type' => 'String', ], ], 'rules' => [ [ 'conditions' => [ [ 'fn' => 'aws.partition', 'argv' => [ [ 'ref' => 'Region', ], ], 'assign' => 'PartitionResult', ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'isSet', 'argv' => [ [ 'ref' => 'Endpoint', ], ], ], [ 'fn' => 'parseURL', 'argv' => [ [ 'ref' => 'Endpoint', ], ], 'assign' => 'url', ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseFIPS', ], true, ], ], ], 'error' => 'Invalid Configuration: FIPS and custom endpoint are not supported', 'type' => 'error', ], [ 'conditions' => [], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseDualStack', ], true, ], ], ], 'error' => 'Invalid Configuration: Dualstack and custom endpoint are not supported', 'type' => 'error', ], [ 'conditions' => [], 'endpoint' => [ 'url' => [ 'ref' => 'Endpoint', ], 'properties' => [], 'headers' => [], ], 'type' => 'endpoint', ], ], ], ], ], [ 'conditions' => [ [ 'fn' => 'stringEquals', 'argv' => [ [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'name', ], ], 'aws', ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseFIPS', ], true, ], ], [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseDualStack', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsFIPS', ], ], ], ], [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsDualStack', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets-fips.{Region}.api.aws', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'us-east-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [], 'error' => 'FIPS and DualStack are enabled, but this partition does not support one or both', 'type' => 'error', ], ], ], [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseFIPS', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsFIPS', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets-fips.{Region}.amazonaws.com', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'us-east-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [], 'error' => 'FIPS is enabled but this partition does not support FIPS', 'type' => 'error', ], ], ], [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseDualStack', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsDualStack', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets.{Region}.api.aws', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'us-east-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [], 'error' => 'DualStack is enabled but this partition does not support DualStack', 'type' => 'error', ], ], ], [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets.amazonaws.com', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'us-east-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [ [ 'fn' => 'stringEquals', 'argv' => [ [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'name', ], ], 'aws-cn', ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseFIPS', ], true, ], ], [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseDualStack', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsFIPS', ], ], ], ], [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsDualStack', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets-fips.{Region}.api.amazonwebservices.com.cn', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'cn-northwest-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [], 'error' => 'FIPS and DualStack are enabled, but this partition does not support one or both', 'type' => 'error', ], ], ], [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseFIPS', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsFIPS', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets-fips.{Region}.amazonaws.com.cn', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'cn-northwest-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [], 'error' => 'FIPS is enabled but this partition does not support FIPS', 'type' => 'error', ], ], ], [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseDualStack', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsDualStack', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets.{Region}.api.amazonwebservices.com.cn', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'cn-northwest-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [], 'error' => 'DualStack is enabled but this partition does not support DualStack', 'type' => 'error', ], ], ], [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets.amazonaws.com.cn', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'cn-northwest-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseFIPS', ], true, ], ], [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseDualStack', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsFIPS', ], ], ], ], [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsDualStack', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets-fips.{Region}.{PartitionResult#dualStackDnsSuffix}', 'properties' => [], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [], 'error' => 'FIPS and DualStack are enabled, but this partition does not support one or both', 'type' => 'error', ], ], ], [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseFIPS', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsFIPS', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets-fips.{Region}.{PartitionResult#dnsSuffix}', 'properties' => [], 'headers' => [], ], 'type' => 'endpoint', ], ], ], ], ], [ 'conditions' => [], 'error' => 'FIPS is enabled but this partition does not support FIPS', 'type' => 'error', ], ], ], [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ [ 'ref' => 'UseDualStack', ], true, ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'booleanEquals', 'argv' => [ true, [ 'fn' => 'getAttr', 'argv' => [ [ 'ref' => 'PartitionResult', ], 'supportsDualStack', ], ], ], ], ], 'type' => 'tree', 'rules' => [ [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets.{Region}.{PartitionResult#dualStackDnsSuffix}', 'properties' => [], 'headers' => [], ], 'type' => 'endpoint', ], ], ], [ 'conditions' => [], 'error' => 'DualStack is enabled but this partition does not support DualStack', 'type' => 'error', ], ], ], [ 'conditions' => [], 'type' => 'tree', 'rules' => [ [ 'conditions' => [ [ 'fn' => 'stringEquals', 'argv' => [ [ 'ref' => 'Region', ], 'aws-global', ], ], ], 'endpoint' => [ 'url' => 'https://budgets.amazonaws.com', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'us-east-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], [ 'conditions' => [ [ 'fn' => 'stringEquals', 'argv' => [ [ 'ref' => 'Region', ], 'aws-cn-global', ], ], ], 'endpoint' => [ 'url' => 'https://budgets.amazonaws.com.cn', 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'cn-northwest-1', ], ], ], 'headers' => [], ], 'type' => 'endpoint', ], [ 'conditions' => [], 'endpoint' => [ 'url' => 'https://budgets.{Region}.{PartitionResult#dnsSuffix}', 'properties' => [], 'headers' => [], ], 'type' => 'endpoint', ], ], ], ], ], ],];


<?php
// This file was auto-generated from sdk-root/src/data/budgets/2016-10-20/endpoint-tests-1.json
return [ 'testCases' => [ [ 'documentation' => 'For region aws-cn-global with FIPS disabled and DualStack disabled', 'expect' => [ 'endpoint' => [ 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'cn-northwest-1', ], ], ], 'url' => 'https://budgets.amazonaws.com.cn', ], ], 'params' => [ 'Region' => 'aws-cn-global', 'UseDualStack' => false, 'UseFIPS' => false, ], ], [ 'documentation' => 'For region aws-global with FIPS disabled and DualStack disabled', 'expect' => [ 'endpoint' => [ 'properties' => [ 'authSchemes' => [ [ 'name' => 'sigv4', 'signingName' => 'budgets', 'signingRegion' => 'us-east-1', ], ], ], 'url' => 'https://budgets.amazonaws.com', ], ], 'params' => [ 'Region' => 'aws-global', 'UseDualStack' => false, 'UseFIPS' => false, ], ], [ 'documentation' => 'For custom endpoint with fips disabled and dualstack disabled', 'expect' => [ 'endpoint' => [ 'url' => 'https://example.com', ], ], 'params' => [ 'Region' => 'us-east-1', 'UseDualStack' => false, 'UseFIPS' => false, 'Endpoint' => 'https://example.com', ], ], [ 'documentation' => 'For custom endpoint with fips enabled and dualstack disabled', 'expect' => [ 'error' => 'Invalid Configuration: FIPS and custom endpoint are not supported', ], 'params' => [ 'Region' => 'us-east-1', 'UseDualStack' => false, 'UseFIPS' => true, 'Endpoint' => 'https://example.com', ], ], [ 'documentation' => 'For custom endpoint with fips disabled and dualstack enabled', 'expect' => [ 'error' => 'Invalid Configuration: Dualstack and custom endpoint are not supported', ], 'params' => [ 'Region' => 'us-east-1', 'UseDualStack' => true, 'UseFIPS' => false, 'Endpoint' => 'https://example.com', ], ], ], 'version' => '1.0',];


<?php
// This file was auto-generated from sdk-root/src/data/budgets/2016-10-20/examples-1.json
return [ 'version' => '1.0', 'examples' => [],];


<?php
// This file was auto-generated from sdk-root/src/data/budgets/2016-10-20/paginators-1.json
return [ 'pagination' => [ 'DescribeBudgetActionHistories' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'ActionHistories', ], 'DescribeBudgetActionsForAccount' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Actions', ], 'DescribeBudgetActionsForBudget' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Actions', ], 'DescribeBudgetNotificationsForAccount' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'BudgetNotificationsForAccount', ], 'DescribeBudgetPerformanceHistory' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'BudgetPerformanceHistory', ], 'DescribeBudgets' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Budgets', ], 'DescribeNotificationsForBudget' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Notifications', ], 'DescribeSubscribersForNotification' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Subscribers', ], ],];