diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 9240a15e5..c89b32b84 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -6,14 +6,14 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.7.x' + python-version: '3.9' architecture: 'x64' - name: Cache pip - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.cache/pip # Look to see if there is a cache hit for the corresponding requirements file @@ -27,4 +27,4 @@ jobs: pip install openapi3 - name: openapi linter run: | - python -m openapi3 openapi.yaml \ No newline at end of file + python -m openapi3 openapi.yaml diff --git a/openapi.json b/openapi.json new file mode 100644 index 000000000..699d59d85 --- /dev/null +++ b/openapi.json @@ -0,0 +1,145299 @@ +{ + "components": { + "parameters": { + "api-version-path": { + "description": "Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + "beta-id": { + "description": "The ID of the Beta Program.", + "in": "path", + "name": "betaId", + "required": true, + "schema": { + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/beta-id.yaml" + } + }, + "client-id-path": { + "description": "The OAuth Client ID to look up.", + "in": "path", + "name": "clientId", + "required": true, + "schema": { + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/client-id-path.yaml" + } + }, + "client-id-path-ecf807fb": { + "description": "The OAuth Client ID to look up.", + "in": "path", + "name": "clientId", + "required": true, + "schema": { + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/client-id-path-ecf807fb.yaml" + } + }, + "eeuid": { + "description": "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid`.", + "in": "path", + "name": "euuid", + "required": true, + "schema": { + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/eeuid.yaml" + } + }, + "event-id-path-214cd042": { + "description": "The ID of the Event to designate as seen.", + "in": "path", + "name": "eventId", + "required": true, + "schema": { + "example": 824, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/event-id-path-214cd042.yaml" + } + }, + "event-id-path-39255fcf": { + "description": "The ID of the Event.", + "in": "path", + "name": "eventId", + "required": true, + "schema": { + "example": 824, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/event-id-path-39255fcf.yaml" + } + }, + "id-path": { + "description": "The slug for the applicable data center. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the slug for each data center.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/id-path.yaml" + } + }, + "invoice-id-path": { + "description": "The ID of the Invoice.", + "in": "path", + "name": "invoiceId", + "required": true, + "schema": { + "example": 387, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/invoice-id-path.yaml" + } + }, + "login-id-path": { + "description": "The ID of the login object to access.", + "in": "path", + "name": "loginId", + "required": true, + "schema": { + "example": 863, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/login-id-path.yaml" + } + }, + "page-offset": { + "description": "The page of a collection to return.", + "in": "query", + "name": "page", + "required": false, + "schema": { + "default": 1, + "example": 6, + "minimum": 1, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/page-offset.yaml" + } + }, + "page-size": { + "description": "The number of items to return per page.", + "in": "query", + "name": "page_size", + "schema": { + "default": 100, + "example": 50, + "maximum": 500, + "minimum": 25, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/page-size.yaml" + } + }, + "payment-id-path": { + "description": "The ID of the Payment to look up.", + "in": "path", + "name": "paymentId", + "required": true, + "schema": { + "example": 627, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/payment-id-path.yaml" + } + }, + "payment-method-id-path-6078bc7b": { + "description": "The ID of the Payment Method to look up.", + "in": "path", + "name": "paymentMethodId", + "required": true, + "schema": { + "example": 267, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/payment-method-id-path-6078bc7b.yaml" + } + }, + "payment-method-id-path-fb39a844": { + "description": "The ID of the Payment Method to make default.", + "in": "path", + "name": "paymentMethodId", + "required": true, + "schema": { + "example": 267, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/payment-method-id-path-fb39a844.yaml" + } + }, + "token-path-f857f5a2": { + "description": "The UUID of the Service Transfer.", + "in": "path", + "name": "token", + "required": true, + "schema": { + "format": "uuid", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/token-path-f857f5a2.yaml" + } + }, + "token-path-faf66b58": { + "description": "The UUID of the Entity Transfer.", + "in": "path", + "name": "token", + "required": true, + "schema": { + "format": "uuid", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/token-path-faf66b58.yaml" + } + }, + "username-path": { + "description": "The username to look up.", + "in": "path", + "name": "username", + "required": true, + "schema": { + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/username-path.yaml" + } + }, + "x-filter-header": { + "description": "Specifies a JSON object to filter down the results. See [Filtering and sorting](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) for details.", + "in": "header", + "name": "X-Filter", + "required": false, + "schema": { + "description": "Specifies the `X-Filter` header JSON object's filtering and sort criteria.", + "oneOf": [ + { + "description": "Specify the name of the data field and the accompanying value.", + "title": "Simple filter", + "type": "object", + "x-akamai": { + "file-path": "schemas/x-filter-criteria.yaml" + } + }, + { + "additionalProperties": false, + "properties": { + "+and": { + "description": "All conditions need to be true.", + "items": { + "description": "Specify the name of the data field and the accompanying value.", + "title": "Simple filter", + "type": "object", + "x-akamai": { + "file-path": "schemas/x-filter-criteria.yaml" + } + }, + "type": "array" + }, + "+contains": { + "description": "The provided string needs to be in the value.", + "type": "string" + }, + "+gt": { + "description": "The value needs to be greater than the provided number.", + "type": "number" + }, + "+gte": { + "description": "The value needs to be greater than or equal to the provided number.", + "type": "number" + }, + "+lt": { + "description": "The value needs to be less than the provided number.", + "type": "number" + }, + "+lte": { + "description": "The value needs to be less than or equal to the provided number.", + "type": "number" + }, + "+neq": { + "description": "The provided string is left out of the results.", + "type": "string" + }, + "+or": { + "description": "At least one condition needs to be true.", + "items": { + "description": "Specify the name of the data field and the accompanying value.", + "title": "Simple filter", + "type": "object", + "x-akamai": { + "file-path": "schemas/x-filter-criteria.yaml" + } + }, + "type": "array" + }, + "+order": { + "default": "asc", + "description": "Sort in ascending (`asc`) or descending (`desc`) order. This defaults to `asc`. Requires `+order_by`.", + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "+order_by": { + "description": "Order results based on the provided attribute. The attribute needs to be filterable.", + "type": "string" + } + }, + "title": "Filter and sort criteria", + "type": "object" + } + ], + "x-akamai": { + "file-path": "schemas/x-filter.yaml" + } + }, + "x-akamai": { + "file-path": "parameters/x-filter-header.yaml" + } + } + }, + "responses": { + "409": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "properties": { + "reason": { + "description": "A string explaining that the account could not be canceled because there is an outstanding balance on the account that must be paid first.", + "example": "We were unable to charge your credit card for services rendered. We cannot cancel this account until the balance has been paid.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-cancel-account-409.yaml" + } + }, + "x-example": { + "x-ref": "../examples/tbd.json" + } + } + }, + "description": "Could not charge the credit card on file.", + "x-akamai": { + "file-path": "errors/409.yaml" + } + }, + "504-account-cancel": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "properties": { + "reason": { + "description": "A string explaining that the account is taking longer to close than expected.", + "example": "Cancellation is taking longer than expected. It may have been successful. Contact customer support to confirm.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-cancel-account-504.yaml" + } + }, + "x-example": { + "x-ref": "../examples/tbd.json" + } + } + }, + "description": "Account is taking longer than expected to cancel.", + "x-akamai": { + "file-path": "errors/504-account-cancel.yaml" + } + }, + "accepted-response": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "warnings": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single warning associated with a response.", + "properties": { + "details": { + "description": "Specific information related to the warning.", + "example": "Linode 123 could not be rebooted.", + "type": "string" + }, + "title": { + "description": "The general warning message.", + "example": "Unable to reboot Linode.", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/warning-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "Accepted with warning.\n\nA warnings array is included with the standard 200 response body." + }, + "deprecated-response": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "warnings": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single warning associated with a response.", + "properties": { + "details": { + "description": "Specific information related to the warning.", + "example": "Linode 123 could not be rebooted.", + "type": "string" + }, + "title": { + "description": "The general warning message.", + "example": "Unable to reboot Linode.", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/warning-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "Request successful. This operation is deprecated and may be removed in a future release.\n\nA warnings array is included with the standard 200 response body." + }, + "error-response": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "schemas": { + "account": { + "additionalProperties": false, + "description": "Account object.", + "properties": { + "active_promotions": { + "items": { + "additionalProperties": false, + "description": "__Read-only__ Promotions generally offer a set amount of credit that can be used toward your Linode services, and the promotion expires after a specified date. As well, a monthly cap on the promotional offer is set.\n\nSimply put, a promotion offers a certain amount of credit month, until either the expiration date is passed, or until the total promotional credit is used, whichever comes first.", + "properties": { + "credit_monthly_cap": { + "description": "The amount available to spend per month.", + "example": "10.00", + "type": "string", + "x-linode-cli-display": 5 + }, + "credit_remaining": { + "description": "The total amount of credit left for this promotion.", + "example": "50.00", + "type": "string", + "x-linode-cli-display": 3 + }, + "description": { + "description": "A detailed description of this promotion.", + "example": "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.", + "type": "string" + }, + "expire_dt": { + "description": "When this promotion's credits expire.", + "example": "2018-01-31T23:59:59", + "type": "string", + "x-linode-cli-display": 2 + }, + "image_url": { + "description": "The location of an image for this promotion.", + "example": "https://linode.com/10_a_month_promotion.svg", + "type": "string" + }, + "service_type": { + "description": "The service to which this promotion applies.", + "enum": [ + "all", + "backup", + "blockstorage", + "db_mysql", + "ip_v4", + "linode", + "linode_disk", + "linode_memory", + "longview", + "managed", + "nodebalancer", + "objectstorage", + "placement_group", + "transfer_tx" + ], + "example": "all", + "type": "string", + "x-linode-cli-display": 1 + }, + "summary": { + "description": "Short details of this promotion.", + "example": "$10 off your Linode a month!", + "type": "string", + "x-linode-cli-display": 10 + }, + "this_month_credit_remaining": { + "description": "The amount of credit left for this month for this promotion.", + "example": "10.00", + "type": "string", + "x-linode-cli-display": 4 + } + }, + "readOnly": true, + "type": "object", + "x-akamai": { + "file-path": "schemas/promotion.yaml" + } + }, + "readOnly": true, + "type": "array" + }, + "active_since": { + "description": "__Read-only__ The date and time the account was activated.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "address_1": { + "description": "The first line of this account's billing address.", + "example": "123 Main Street", + "maxLength": 64, + "type": "string" + }, + "address_2": { + "description": "The second line of this account's billing address.", + "example": "Suite A", + "maxLength": 64, + "type": "string" + }, + "balance": { + "description": "__Read-only__ This account's balance, in US dollars.", + "example": 200, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "balance_uninvoiced": { + "description": "__Read-only__ This account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate.", + "example": 145, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "billing_source": { + "description": "__Read-only__ The source of service charges for this account. Accounts that are associated with Akamai-specific customers return a value of `akamai`. All other accounts return a value of `linode`.", + "enum": [ + "akamai", + "linode" + ], + "example": "akamai", + "readOnly": true, + "type": "string" + }, + "capabilities": { + "description": "__Read-only__ The Akamai Cloud Computing services your account supports.", + "example": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Object Storage", + "Placement Groups", + "Block Storage Encryption" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "city": { + "description": "The city for this account's `address`.", + "example": "Philadelphia", + "maxLength": 24, + "type": "string" + }, + "company": { + "description": "The company name assigned to this account. This value can't include the characters, `<` `>` `(` `)` `\"` `=`.", + "example": "Linode LLC", + "maxLength": 128, + "type": "string" + }, + "country": { + "description": "The two-letter ISO 3166 country code for this account's `address`.", + "example": "US", + "type": "string" + }, + "credit_card": { + "additionalProperties": false, + "description": "__Read-only__ The credit card information assigned to this account.", + "properties": { + "expiry": { + "description": "The expiration month and year of the `credit_card`.", + "example": "11/2022", + "type": "string" + }, + "last_four": { + "description": "The last four digits of the `credit_card` assigned to this account.", + "example": 1111, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "email": { + "description": "The email address of the person assigned to this account.", + "example": "john.smith@linode.com", + "maxLength": 128, + "type": "string", + "x-linode-cli-display": 3 + }, + "euuid": { + "description": "__Read-only__ An external unique identifier for this account.", + "example": "E1AF5EEC-526F-487D-B317EBEB34C87D71", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "first_name": { + "description": "The first name of the person assigned to this account. This value can't include the characters, `<` `>` `(` `)` `\"` `=`.", + "example": "John", + "maxLength": 50, + "type": "string", + "x-linode-cli-display": 1 + }, + "last_name": { + "description": "The last name of the person assigned to this account. This value can't include the characters, `<` `>` `(` `)` `\"` `=`.", + "example": "Smith", + "maxLength": 50, + "type": "string", + "x-linode-cli-display": 2 + }, + "phone": { + "description": "The phone number assigned to this account.", + "example": "215-555-1212", + "maxLength": 32, + "type": "string" + }, + "state": { + "description": "The state or province for the `address` set for your account, if applicable.\n\n- If the `address` is in the United States (US) or Canada (CA), this is the two-letter ISO 3166 code for the state or province.\n\n- If it's a US military `address`, this is the abbreviation for that territory. This includes `AA` for Armed Forces Americas (excluding Canada), `AE` for Armed Forces Africa, Europe, Middle East, and Canada, or `AP` for Armed Forces Pacific.\n\n- If outside the US or CA, this is the province associated with the account's `address`.", + "example": "PA", + "maxLength": 24, + "type": "string" + }, + "tax_id": { + "description": "The tax identification number (TIN) assigned to this account, used for tax calculations. A TIN is set by the national authorities in your `country`, based on your `address_1`, and it may be named differently between countries. Set to an empty string (`\"\"`) if a TIN doesn't apply or for countries that don't collect tax.\n\n> \ud83d\udcd8\n>\n> This value is externally validated. If the validation is successful, a `tax_id_valid` [event](https://techdocs.akamai.com/linode-api/reference/get-events) is triggered. If unsuccessful, a `tax_id_invalid` event is triggered and an error response is issued for an operation that included it.", + "example": "ATU99999999", + "maxLength": 25, + "type": "string" + }, + "zip": { + "description": "The zip code for this account's `address`.\n\n- It can only contain ASCII letters, numbers, and dashes (`-`).\n\n- It can't contain more than nine letter or number characters.", + "example": "19102-1234", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/account.yaml" + } + }, + "account-availability": { + "additionalProperties": false, + "description": "Account Service Availability object.", + "properties": { + "available": { + "description": "__Read-only__ A list of services _available_ to your account in the `region`.", + "example": [ + "Linodes", + "NodeBalancers" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "region": { + "description": "__Read-only__ The Akamai cloud computing data center (region), represented by a slug value. You can view a full list of regions and their associated slugs with the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation.", + "example": "us-east", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "unavailable": { + "description": "__Read-only__ A list of services _unavailable_ to your account in the `region`.", + "example": [ + "Kubernetes", + "Block Storage" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-linode-cli-display": 3 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/account-availability.yaml" + } + }, + "account-settings": { + "additionalProperties": false, + "description": "Account Settings object.", + "properties": { + "backups_enabled": { + "description": "Account-wide backups default. If `true`, all Linodes created will automatically be enrolled in the Backups service. If `false`, Linodes will not be enrolled by default, but may still be enrolled on creation or later.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 4 + }, + "interfaces_for_new_linodes": { + "description": "__Beta__ Defines if new Linodes can use legacy configuration interfaces:\n- `legacy_config_only`. All new Linodes need to use legacy configuration interfaces. Prevously created Linodes with Linode Interfaces can still exist. Linodes using legacy configuration interfaces can't be upgraded to use Linode Interfaces.\n- `legacy_config_default_but_linode_allowed`. New Linodes can use legacy configuration interfaces or Linode Interfaces, depending on the `interface_generation` setting specified when creating the Linode. By default, new Linodes use legacy configuration interfaces unless otherwise specified. Linodes that use legacy configuration interfaces can upgrade to Linode Interfaces. This is the default setting for existing accounts.\n- `linode_default_but_legacy_config_allowed`. New Linodes can use legacy configuration interfaces or Linode Interfaces, depending on the `interface_generation` setting specified when creating the Linode. By default, new Linodes use Linode Interfaces unless otherwise specified. Linodes that use legacy configuration interfaces can upgrade to Linode interfaces. This is the default setting for new accounts.\n- `linode_only`. All new Linodes need to use Linode Interfaces. Prevously created Linodes with legacy configuration profile interfaces can still exist if they were created under a previous setting. Linodes using legacy configuration interfaces can be upgraded to Linode Interfaces.", + "enum": [ + "legacy_config_only", + "legacy_config_default_but_linode_allowed", + "linode_default_but_legacy_config_allowed", + "linode_only" + ], + "example": "linode_only", + "type": "string", + "x-akamai": { + "status": "BETA" + }, + "x-linode-cli-display": 6 + }, + "longview_subscription": { + "description": "__Read-only__ The Longview Pro tier you are currently subscribed to. The value must be a [Longview subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or `null` for Longview Free.", + "example": "longview-3", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 2 + }, + "maintenance_policy": { + "description": "__Beta__ Defines the default maintenance policy for new Linodes created on this account. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + }, + "x-linode-cli-display": 7 + }, + "managed": { + "description": "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time.", + "example": true, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "network_helper": { + "description": "Enables network helper across all users by default for new Linodes and Linode Configs.", + "example": false, + "type": "boolean", + "x-linode-cli-display": 1 + }, + "object_storage": { + "default": "disabled", + "description": "__Read-only__ A string describing the status of this account's Object Storage service enrollment.", + "enum": [ + "disabled", + "suspended", + "active" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 5 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/account-settings.yaml" + } + }, + "added-empty-obj": { + "description": "The API responds with an empty object.", + "maxProperties": 0, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-empty-obj.yaml" + } + }, + "added-get-account-logins-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "An object representing a previous successful login for a User.", + "properties": { + "datetime": { + "description": "__Read-only__ When the login was initiated.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 2 + }, + "id": { + "description": "__Read-only__ The unique ID of this login object.", + "example": 1234, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "ip": { + "description": "__Read-only__ The remote IP address that requested the login.", + "example": "192.0.2.0", + "format": "ip", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "restricted": { + "description": "__Read-only__ True if the User that attempted the login was a restricted User, false otherwise.", + "example": true, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 6 + }, + "status": { + "description": "__Read-only__ Whether the login attempt succeeded or failed.", + "enum": [ + "successful", + "failed" + ], + "example": "successful", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 5 + }, + "username": { + "description": "__Read-only__ The username of the User that attempted the login.", + "example": "example_user", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 4 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/login.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-account-logins-200.yaml" + } + }, + "added-get-availability-200": { + "allOf": [ + { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Account Service Availability object.", + "properties": { + "available": { + "description": "__Read-only__ A list of services _available_ to your account in the `region`.", + "example": [ + "Linodes", + "NodeBalancers" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "region": { + "description": "__Read-only__ The Akamai cloud computing data center (region), represented by a slug value. You can view a full list of regions and their associated slugs with the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation.", + "example": "us-east", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "unavailable": { + "description": "__Read-only__ A list of services _unavailable_ to your account in the `region`.", + "example": [ + "Kubernetes", + "Block Storage" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-linode-cli-display": 3 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/account-availability.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "description": "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information.", + "properties": { + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/pagination-envelope.yaml" + } + } + ], + "x-akamai": { + "file-path": "schemas/added-get-availability-200.yaml" + } + }, + "added-get-child-accounts-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Child account object.", + "properties": { + "active_since": { + "description": "__Read-only__ The activation date and time for the child account.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "address_1": { + "description": "__Filterable__ First line of this child account's billing address.", + "example": "123 Main Street", + "maxLength": 64, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "address_2": { + "description": "__Filterable__ Second line of this child account's billing address, if applicable.", + "example": "Suite A", + "maxLength": 64, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "balance": { + "description": "__Read-only__ This child account's balance, in US dollars.", + "example": 200, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "balance_uninvoiced": { + "description": "__Read-only__ This child account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate.", + "example": 145, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "billing_source": { + "description": "__Read-only__ The source of service charges for this account, as determined by its relationship with Akamai. The API returns a value of `external` to describe a child account in a parent-child account environment.", + "enum": [ + "external" + ], + "example": "external", + "readOnly": true, + "type": "string" + }, + "capabilities": { + "description": "__Read-only__ A list of the capabilities the child account supports.", + "example": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Object Storage" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "city": { + "description": "__Filterable__ The city for this child account's billing address.", + "example": "San Diego", + "maxLength": 24, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "company": { + "description": "__Filterable__ The company name for the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`. You can't change this value yourself. We use it to create the proxy users that a parent account uses to access a child account. Talk to your account team if you need to change this value.", + "example": "Acme", + "maxLength": 128, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "country": { + "description": "__Filterable__ The two-letter ISO 3166 country code for this child account's billing address.", + "example": "US", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "credit_card": { + "additionalProperties": false, + "description": "__Read-only__ Information for the credit card you've assigned to this child account.", + "properties": { + "expiry": { + "description": "The expiration month and year of the credit card.", + "example": "11/2024", + "type": "string" + }, + "last_four": { + "description": "The last four digits of the credit card.", + "example": 1111, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "email": { + "description": "__Filterable__ The email address of the owner of this child account.", + "example": "john.smith@linode.com", + "maxLength": 128, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "euuid": { + "description": "__Read-only__ An external, unique identifier that Akamai assigned to the child account.", + "example": "A1BC2DEF-34GH-567I-J890KLMN12O34P56", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "first_name": { + "description": "__Filterable__ The first name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`.", + "example": "John", + "maxLength": 50, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "last_name": { + "description": "__Filterable__ The last name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`.", + "example": "Smith", + "maxLength": 50, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "phone": { + "description": "__Filterable__ The phone number for the owner of this child account.", + "example": "858-555-1212", + "maxLength": 32, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "state": { + "description": "__Filterable__ The state or province for the billing address (`address_1` and `address_2, if applicable`). If in the United States (US) or Canada (CA), this is the two-letter ISO 3166 State or Province code.\n\n> \ud83d\udcd8\n>\n> If this is a US military address, use state abbreviations (AA, AE, AP).", + "example": "CA", + "maxLength": 24, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "tax_id": { + "description": "The tax identification number for this child account. Use this for tax calculations in some countries. If you live in a country that doesn't collect taxes, ensure this is an empty string (`\"\"`).", + "example": "ATU99999999", + "maxLength": 25, + "type": "string" + }, + "zip": { + "description": "__Filterable__ The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Can't contain more than 9 letter or number characters.", + "example": "92111-1234", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/child-account.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-child-accounts-200.yaml" + } + }, + "added-get-clients-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "A third-party application registered to Linode that users may log into with their Linode account through our authentication server at [login.linode.com](https://login.linode.com). Using an OAuth Client, a third-party developer may be given access to some, or all, of a User's account for the purposes of their application.", + "properties": { + "id": { + "description": "__Read-only__ The OAuth Client ID. This is used to identify the client, and is a publicly known value (it is not a secret).", + "example": "2737bf16b39ab5d7b4a1", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "label": { + "description": "__Filterable__ The name of this application. This will be presented to users when they are asked to grant it access to their Account.", + "example": "Test_Client_1", + "maxLength": 512, + "minLength": 1, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "public": { + "default": false, + "description": "__Filterable__ If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the [OAuth spec](https://oauth.net/2/) for more details.", + "example": false, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + }, + "redirect_uri": { + "description": "The location a successful log in from [login.linode.com](https://login.linode.com) should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.", + "example": "https://example.org/oauth/callback", + "format": "url", + "type": "string", + "x-linode-cli-display": 5 + }, + "secret": { + "description": "__Read-only__ The OAuth Client secret, used in the OAuth exchange. This is returned as `` except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly.", + "example": "", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "__Read-only__ The status of this application. `active` by default.", + "enum": [ + "active", + "disabled", + "suspended" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-color": { + "default_": "white", + "suspended": "red" + }, + "x-linode-cli-display": 3 + }, + "thumbnail_url": { + "description": "__Read-only__ The URL where this client's thumbnail may be viewed, or `null` if this client does not have a thumbnail set.", + "example": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail", + "format": "url", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/oauth-client.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-clients-200.yaml" + } + }, + "added-get-enrolled-beta-programs-200": { + "allOf": [ + { + "additionalProperties": false, + "description": "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information.", + "properties": { + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/pagination-envelope.yaml" + } + }, + { + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "An object representing an enrolled Beta Program for the Account.", + "properties": { + "description": { + "description": "__Read-only__ Additional details regarding the Beta Program.", + "example": "This is an open public beta for an example feature.", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "ended": { + "description": "__Filterable__, __Read-only__ The date-time that the Beta Program ended.\n\n`null` indicates that the Beta Program is ongoing.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 5, + "x-linode-filterable": true + }, + "enrolled": { + "description": "__Filterable__, __Read-only__ The date-time of Account enrollment to the Beta Program.", + "example": "2023-09-11T00:00:00", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 6, + "x-linode-filterable": true + }, + "id": { + "description": "The unique identifier of the Beta Program.", + "example": "example_open", + "type": "string", + "x-linode-cli-display": 1 + }, + "label": { + "description": "__Filterable__, __Read-only__ The name of the Beta Program.", + "example": "Example Open Beta", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "started": { + "description": "__Filterable__, __Read-only__ The start date-time of the Beta Program.", + "example": "2023-07-11T00:00:00", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/beta-program-enrolled.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + ], + "x-akamai": { + "file-path": "schemas/added-get-enrolled-beta-programs-200.yaml" + } + }, + "added-get-entity-transfers-200": { + "allOf": [ + { + "additionalProperties": false, + "description": "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information.", + "properties": { + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/pagination-envelope.yaml" + } + }, + { + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "An object representing an Entity Transfer.", + "properties": { + "created": { + "description": "When this transfer was created.", + "example": "2021-02-11T16:37:03", + "format": "date-time", + "type": "string" + }, + "entities": { + "additionalProperties": false, + "description": "A collection of the entities to include in this transfer request, separated by type.", + "properties": { + "linodes": { + "description": "An array containing the IDs of each of the Linodes included in this transfer.", + "example": [ + 111, + 222 + ], + "items": { + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + } + }, + "type": "object" + }, + "expiry": { + "description": "When this transfer expires. Transfers will automatically expire 24 hours after creation.", + "example": "2021-02-12T16:37:03", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 3 + }, + "is_sender": { + "description": "__Filterable__ If the requesting account created this transfer.", + "example": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + }, + "status": { + "description": "__Filterable__ The status of the transfer request:\n\n`accepted`: The transfer has been accepted by another user and is currently in progress. Transfers can take up to 3 hours to complete.\n`canceled`: The transfer has been canceled by the sender.\n`completed`: The transfer has completed successfully.\n`failed`: The transfer has failed after initiation.\n`pending`: The transfer is ready to be accepted.\n`stale`: The transfer has exceeded its expiration date. It can no longer be accepted or canceled.", + "enum": [ + "accepted", + "canceled", + "completed", + "failed", + "pending", + "stale" + ], + "example": "pending", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-color": { + "accepted": "yellow", + "canceled": "red", + "completed": "green", + "default_": "white", + "failed": "red", + "pending": "yellow", + "stale": "red" + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "token": { + "description": "The token used to identify and accept or cancel this transfer.", + "example": "123E4567-E89B-12D3-A456-426614174000", + "format": "uuid", + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "When this transfer was last updated.", + "example": "2021-02-11T16:37:03", + "format": "date-time", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/entity-transfer.yaml" + } + }, + "type": "array" + } + } + } + ], + "x-akamai": { + "file-path": "schemas/added-get-entity-transfers-200.yaml" + } + }, + "added-get-invoice-items-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "An InvoiceItem object.", + "properties": { + "amount": { + "description": "__Read-only__ The price, in US dollars, of the Invoice Item. Equal to the unit price multiplied by quantity.", + "example": 20.2, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "from": { + "description": "__Read-only__ The date the Invoice Item started, based on month.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 2 + }, + "label": { + "description": "__Read-only__ The Invoice Item's display label.", + "example": "Linode 123", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "quantity": { + "description": "__Read-only__ The quantity of this Item for the specified Invoice.", + "example": 4, + "readOnly": true, + "type": "integer" + }, + "region": { + "description": "__Read-only__ The ID of the applicable Region associated with this Invoice Item.\n\n`null` if there is no applicable Region.", + "example": "us-west", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 7 + }, + "tax": { + "description": "__Read-only__ The amount of tax levied on this Item in US Dollars.", + "example": 1.25, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 5 + }, + "to": { + "description": "__Read-only__ The date the Invoice Item ended, based on month.", + "example": "2018-01-31T11:59:59", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "total": { + "description": "__Read-only__ The price of this Item after taxes in US Dollars.", + "example": 21.45, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 6 + }, + "type": { + "description": "__Read-only__ The type of service, ether `hourly` or `misc`.", + "enum": [ + "hourly", + "misc" + ], + "example": "hourly", + "readOnly": true, + "type": "string" + }, + "unit_price": { + "description": "__Read-only__ The monthly service fee in US Dollars for this Item.", + "example": 5.05, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/invoice-item.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-invoice-items-200.yaml" + } + }, + "added-get-invoices-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Account Invoice object.", + "properties": { + "billing_source": { + "description": "__Filterable__, __Read-only__ The source of service charges for this invoice. A value of `akamai` indicates an invoice generated according to the terms of an agreement between the customer and Akamai. A value of `linode` indicates an invoice was generated according to the default terms, prices, and discounts.", + "enum": [ + "akamai", + "linode" + ], + "example": "linode", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3.5, + "x-linode-filterable": true + }, + "date": { + "description": "__Filterable__, __Read-only__ When this Invoice was generated.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "id": { + "description": "__Read-only__ The Invoice's unique ID.", + "example": 123, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "label": { + "description": "__Filterable__, __Read-only__ The Invoice's display label.", + "example": "Invoice", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "subtotal": { + "description": "__Read-only__ The amount of the Invoice before taxes in US Dollars.", + "example": 120.25, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "tax": { + "description": "__Read-only__ The amount of tax levied on the Invoice in US Dollars.", + "example": 12.25, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 5 + }, + "tax_summary": { + "description": "__Read-only__ The amount of tax broken down into subtotals by source.", + "items": { + "additionalProperties": false, + "properties": { + "name": { + "description": "The source of this tax subtotal.", + "example": "PA STATE TAX", + "type": "string" + }, + "tax": { + "description": "The amount of tax subtotal attributable to this source.", + "example": 12.25, + "type": "number" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "total": { + "description": "__Filterable__, __Read-only__ The amount of the Invoice after taxes in US Dollars.", + "example": 132.5, + "readOnly": true, + "type": "number", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 6, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/invoice.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-invoices-200.yaml" + } + }, + "added-get-maintenance-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Information about maintenance affecting an entity.", + "properties": { + "complete_time": { + "description": "__Beta__, __Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "description": { + "description": "__Beta__ Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "entity": { + "additionalProperties": false, + "description": "The entity affected by the maintenance.", + "properties": { + "id": { + "description": "The unique identifier of the entity targeted by the maintenance.", + "example": 1234, + "type": "number" + }, + "label": { + "description": "The name of the entity targeted by the maintenance.", + "example": "demo-linode", + "type": "string" + }, + "type": { + "description": "The type of entity.", + "example": "Linode", + "type": "string" + }, + "url": { + "description": "A combination of the API operation prefix and the entity's `id` that can be used to review the entity.", + "example": "https://api.linode.com/v4/linode/instances/{linodeId}", + "type": "string" + } + }, + "type": "object" + }, + "maintenance_policy_set": { + "description": "__Beta__, __Filterable__ The maintenance policy configured by the user.", + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "not_before": { + "description": "__Beta__, __Filterable__ The earliest time when the maintenance can start. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "reason": { + "description": "The reason maintenance is being performed.", + "example": "This maintenance will allow us to update the BIOS on the host's motherboard.", + "type": "string" + }, + "source": { + "description": "__Beta__ The origin of the maintenance. A `platform` source indicates that the maintenance was initiated by Akamai. A `user` source indicates that the maintenance was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "start_time": { + "description": "__Beta__, __Filterable__ The time the maintenance started. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "status": { + "description": "__Filterable__ The maintenance status. Maintenance progress follows the sequence `pending`, `scheduled`, `started`, and `completed`. A `scheduled` status is unique to Linodes that require a reboot for [QEMU maintenance](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance).", + "enum": [ + "pending", + "scheduled", + "started", + "in-progress", + "completed", + "canceled" + ], + "example": "started", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "type": { + "description": "__Filterable__ The type of maintenance.", + "enum": [ + "reboot", + "cold_migration", + "live_migration", + "migrate", + "power_off_on" + ], + "example": "reboot", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "when": { + "description": "__Filterable__ The start time for the maintenance. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (yyyy-mm-ddThh:mm:ss), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/maintenance.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-maintenance-200.yaml" + } + }, + "added-get-notifications-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "An important, often time-sensitive item related to your account.", + "properties": { + "body": { + "description": "A full description of this notification, in markdown format. Not all notifications include a `body`. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "example": null, + "nullable": true, + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "Detailed information about the notification. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "nullable": true, + "properties": { + "id": { + "description": "The unique ID of the notification's entity, based on the entity type. Returns `null` for an `account` or `promotion` entity.", + "example": 3456, + "nullable": true, + "type": "integer" + }, + "label": { + "description": "The current name of this notification's entity. Returns `null` for the following `entity` types:\n\n- `entity_transfer`\n\n- `promotion`\n\n- `region`", + "example": "Linode not booting.", + "nullable": true, + "type": "string" + }, + "type": { + "description": "__Filterable__ The type of entity this is related to. An entity can be product or service-specific, such as a `linode`, `loadbalancers`, or `nodebalancers`. It can apply to a specific component, such as your `account`, a specific `promotion` your participating in, a data center (`region`) where you're using services, a transfer from one component to another (an `entity_transfer`), a support `ticket` you've opened, or a `volume` on a specific Linode.", + "enum": [ + "account", + "entity_transfer", + "linode", + "loadbalancers", + "nodebalancer", + "promotion", + "region", + "ticket", + "volume" + ], + "example": "ticket", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "url": { + "description": "The URL where you can access the notification's object. The URL is relative to the domain where you retrieved the notification. This value is `null` for the `promotion` entity type.", + "example": "/support/tickets/3456", + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "label": { + "description": "A short description of this notification.", + "example": "You have an important ticket open!", + "type": "string", + "x-linode-cli-display": 1 + }, + "message": { + "description": "A human-readable description of the notification.", + "example": "You have an important ticket open!", + "type": "string", + "x-linode-cli-display": 2 + }, + "severity": { + "description": "The severity of this notification. This field determines how prominently the notification is displayed and the color of the display text.", + "enum": [ + "minor", + "major", + "critical" + ], + "example": "major", + "type": "string", + "x-linode-cli-color": { + "critical": "b", + "default_": "white", + "minor": "blue" + }, + "x-linode-cli-display": 3 + }, + "type": { + "description": "__Filterable__ The type of notification.\n\n> \ud83d\udcd8\n>\n> A `security_reboot_maintenance_scheduled` event is a global notice that a Linode needs to be rebooted for QEMU upgrade maintenance. Have a look at [this workflow](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance) for guidance on reboooting your Linodes for this maintenance.", + "enum": [ + "migration_scheduled", + "migration_imminent", + "migration_pending", + "reboot_scheduled", + "outage", + "payment_due", + "ticket_important", + "ticket_abuse", + "notice", + "maintenance", + "maintenance_scheduled", + "promotion", + "security_reboot_maintenance_scheduled", + "tax_id_verifying" + ], + "example": "ticket_important", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "until": { + "description": "If this notification has a duration, this is when the event or action will complete. For example, if there's scheduled maintenance for one of our systems, `until` represents the end of the maintenance window. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "example": null, + "format": "date-time", + "nullable": true, + "type": "string", + "x-linode-cli-color": { + "None": "black", + "default_": "white" + }, + "x-linode-cli-display": 5 + }, + "when": { + "description": "If this notification is for an event in the future, this specifies when the action occurs. For example, if a compute instance needs to migrate in response to a security advisory, this field sets the approximate time the compute instance will be taken offline for migration. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "example": null, + "format": "date-time", + "nullable": true, + "type": "string", + "x-linode-cli-color": { + "None": "black", + "default_": "white" + }, + "x-linode-cli-display": 4 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/notification.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-notifications-200.yaml" + } + }, + "added-get-payment-methods-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Payment Method Response Object.", + "properties": { + "created": { + "description": "__Read-only__ When the Payment Method was added to the Account.", + "example": "2018-01-15T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "data": { + "oneOf": [ + { + "additionalProperties": false, + "description": "Credit card information.", + "properties": { + "card_type": { + "description": "__Read-only__ The type of credit card.", + "example": "Discover", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ The expiration month and year of the credit card.", + "example": "06/2022", + "format": "MM/YYYY", + "readOnly": true, + "type": "string" + }, + "last_four": { + "description": "__Read-only__ The last four digits of the credit card number.", + "example": "1234", + "readOnly": true, + "type": "string" + } + }, + "title": "Credit card", + "type": "object", + "x-akamai": { + "file-path": "schemas/credit-card-data.yaml" + }, + "x-linode-ref-name": "Credit Card" + }, + { + "additionalProperties": false, + "description": "Google Pay information.", + "properties": { + "card_type": { + "description": "__Read-only__ The type of credit card.", + "example": "Discover", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ The expiration month and year of the credit card.", + "example": "06/2022", + "format": "MM/YYYY", + "readOnly": true, + "type": "string" + }, + "last_four": { + "description": "__Read-only__ The last four digits of the credit card number.", + "example": "1234", + "readOnly": true, + "type": "string" + } + }, + "title": "Google Pay", + "type": "object", + "x-akamai": { + "file-path": "schemas/google-pay-data.yaml" + }, + "x-linode-ref-name": "Google Pay" + }, + { + "additionalProperties": false, + "description": "PayPal information.", + "properties": { + "email": { + "description": "__Read-only__ The email address associated with your PayPal account.", + "example": "example@linode.com", + "readOnly": true, + "type": "string" + }, + "paypal_id": { + "description": "__Read-only__ PayPal Merchant ID associated with your PayPal account.", + "example": "ABC1234567890", + "readOnly": true, + "type": "string" + } + }, + "title": "Paypal", + "type": "object", + "x-akamai": { + "file-path": "schemas/paypal-data.yaml" + }, + "x-linode-ref-name": "Paypal" + } + ], + "x-linode-cli-display": 4, + "x-linode-cli-format": "json" + }, + "id": { + "description": "The unique ID of this Payment Method.", + "example": 123, + "type": "integer", + "x-linode-cli-display": 1 + }, + "is_default": { + "description": "Whether this Payment Method is the default method for automatically processing service charges.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "type": { + "description": "The type of Payment Method.", + "enum": [ + "credit_card", + "google_pay", + "paypal" + ], + "example": "credit_card", + "type": "string", + "x-linode-cli-display": 2 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/payment-method.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-payment-methods-200.yaml" + } + }, + "added-get-payments-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Payment object response.", + "properties": { + "date": { + "description": "__Filterable__, __Read-only__ When the payment was made.", + "example": "2018-01-15T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "id": { + "description": "__Read-only__ The unique ID of the payment.", + "example": 123, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "usd": { + "description": "__Filterable__, __Read-only__ The amount, in US dollars, of the payment.", + "example": "120.50", + "readOnly": true, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/payment.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-payments-200.yaml" + } + }, + "added-get-service-transfers-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "An object representing a Service Transfer.", + "properties": { + "created": { + "description": "When this transfer was created.", + "example": "2021-02-11T16:37:03", + "format": "date-time", + "type": "string" + }, + "entities": { + "additionalProperties": false, + "description": "A collection of the services to include in this transfer request, separated by type.", + "properties": { + "linodes": { + "description": "An array containing the IDs of each of the Linodes included in this transfer.", + "example": [ + 111, + 222 + ], + "items": { + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + } + }, + "type": "object" + }, + "expiry": { + "description": "When this transfer expires. Transfers will automatically expire 24 hours after creation.", + "example": "2021-02-12T16:37:03", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 3 + }, + "is_sender": { + "description": "__Filterable__ If the requesting account created this transfer.", + "example": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + }, + "status": { + "description": "__Filterable__ The status of the transfer request.\n\n`accepted`: The transfer has been accepted by another user and is currently in progress.\nTransfers can take up to 3 hours to complete.\n\n`canceled`: The transfer has been canceled by the sender.\n\n`completed`: The transfer has completed successfully.\n\n`failed`: The transfer has failed after initiation.\n\n`pending`: The transfer is ready to be accepted.\n\n`stale`: The transfer has exceeded its expiration date. It can no longer be accepted or\ncanceled.", + "enum": [ + "accepted", + "canceled", + "completed", + "failed", + "pending", + "stale" + ], + "example": "pending", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-color": { + "accepted": "yellow", + "canceled": "red", + "completed": "green", + "default_": "white", + "failed": "red", + "pending": "yellow", + "stale": "red" + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "token": { + "description": "The token used to identify and accept or cancel this transfer.", + "example": "123E4567-E89B-12D3-A456-426614174000", + "format": "uuid", + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "When this transfer was last updated.", + "example": "2021-02-11T16:37:03", + "format": "date-time", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/service-transfer.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-service-transfers-200.yaml" + } + }, + "added-get-user-200": { + "allOf": [ + { + "additionalProperties": false, + "description": "A user on your account. Unrestricted users can log in and access information about your account, while restricted users may only access entities or perform actions they've been granted access to.", + "properties": { + "email": { + "description": "This user's email address. Akamai uses this address for account management communications.", + "example": "example_user@linode.com", + "format": "email", + "type": "string", + "x-linode-cli-display": 2 + }, + "last_login": { + "additionalProperties": false, + "description": "__Read-only__ Details on this user's last login attempt. Returned as `null` if this user hasn't attempted a login since it was created. You can run the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information.", + "nullable": true, + "properties": { + "login_datetime": { + "description": "__Read-only__ The date and time of this user's most recent login attempt.", + "example": "2018-01-01T01:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "__Read-only__ The result of this user's most recent login attempt.", + "enum": [ + "successful", + "failed" + ], + "example": "successful", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "password_created": { + "description": "__Read-only__ When this user's current password was created. You initially create a password during the account sign-up process, and you can update it using the [Reset Password](https://login.linode.com/forgot/password) webpage. Returned as `null` if this user doesn't have a password set.", + "example": "2018-01-01T01:01:01", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "restricted": { + "description": "If `true`, this user needs specific access granted to perform actions or access entities on your account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted user.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "ssh_keys": { + "description": "__Read-only__ A list of the labels for SSH keys added by this user. Users can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation. These keys are deployed when this user is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)", + "example": [ + "home-pc", + "laptop" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "tfa_enabled": { + "description": "__Read-only__ Whether this user has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA.", + "example": true, + "readOnly": true, + "type": "boolean" + }, + "username": { + "description": "__Filterable__ The name of this user. This user needs to use this value to log in. It may also display alongside actions this user performs, including events or public StackScripts.", + "example": "example_user", + "maxLength": 32, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "verified_phone_number": { + "description": "__Read-only__ The [verified](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) phone number for this user profile. Returned as `null` if the user doesn't have a verified phone number.", + "example": "+5555555555", + "format": "phone", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/user.yaml" + } + }, + { + "additionalProperties": false, + "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", + "properties": { + "user_type": { + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "enum": [ + "parent", + "child", + "proxy", + "default" + ], + "example": "parent", + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/user-type.yaml" + } + } + ], + "x-akamai": { + "file-path": "schemas/added-get-user-200.yaml" + } + }, + "added-get-users-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "allOf": [ + { + "additionalProperties": false, + "description": "A user on your account. Unrestricted users can log in and access information about your account, while restricted users may only access entities or perform actions they've been granted access to.", + "properties": { + "email": { + "description": "This user's email address. Akamai uses this address for account management communications.", + "example": "example_user@linode.com", + "format": "email", + "type": "string", + "x-linode-cli-display": 2 + }, + "last_login": { + "additionalProperties": false, + "description": "__Read-only__ Details on this user's last login attempt. Returned as `null` if this user hasn't attempted a login since it was created. You can run the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information.", + "nullable": true, + "properties": { + "login_datetime": { + "description": "__Read-only__ The date and time of this user's most recent login attempt.", + "example": "2018-01-01T01:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "__Read-only__ The result of this user's most recent login attempt.", + "enum": [ + "successful", + "failed" + ], + "example": "successful", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "password_created": { + "description": "__Read-only__ When this user's current password was created. You initially create a password during the account sign-up process, and you can update it using the [Reset Password](https://login.linode.com/forgot/password) webpage. Returned as `null` if this user doesn't have a password set.", + "example": "2018-01-01T01:01:01", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "restricted": { + "description": "If `true`, this user needs specific access granted to perform actions or access entities on your account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted user.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "ssh_keys": { + "description": "__Read-only__ A list of the labels for SSH keys added by this user. Users can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation. These keys are deployed when this user is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)", + "example": [ + "home-pc", + "laptop" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "tfa_enabled": { + "description": "__Read-only__ Whether this user has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA.", + "example": true, + "readOnly": true, + "type": "boolean" + }, + "username": { + "description": "__Filterable__ The name of this user. This user needs to use this value to log in. It may also display alongside actions this user performs, including events or public StackScripts.", + "example": "example_user", + "maxLength": 32, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "verified_phone_number": { + "description": "__Read-only__ The [verified](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) phone number for this user profile. Returned as `null` if the user doesn't have a verified phone number.", + "example": "+5555555555", + "format": "phone", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/user.yaml" + } + }, + { + "additionalProperties": false, + "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", + "properties": { + "user_type": { + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "enum": [ + "parent", + "child", + "proxy", + "default" + ], + "example": "parent", + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/user-type.yaml" + } + } + ] + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-users-200.yaml" + } + }, + "added-post-beta-program": { + "additionalProperties": false, + "description": "The Beta Program ID to enroll in for your Account.", + "properties": { + "id": { + "description": "The unique identifier of the Beta Program.", + "example": "example_open", + "type": "string", + "x-linode-cli-display": 1 + } + }, + "required": [ + "id" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-beta-program.yaml" + } + }, + "added-post-cancel-account": { + "additionalProperties": false, + "properties": { + "comments": { + "description": "Any reason for cancelling the account, and any other comments you might have about your Linode service.", + "example": "I'm consolidating multiple accounts into one.", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-cancel-account.yaml" + } + }, + "added-post-cancel-account-200": { + "additionalProperties": false, + "example": { + "survey_link": "https://alinktothesurvey.com" + }, + "properties": { + "survey_link": { + "description": "A link to Linode's exit survey.", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-cancel-account-200.yaml" + } + }, + "added-post-cancel-account-409": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "properties": { + "reason": { + "description": "A string explaining that the account could not be canceled because there is an outstanding balance on the account that must be paid first.", + "example": "We were unable to charge your credit card for services rendered. We cannot cancel this account until the balance has been paid.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-cancel-account-409.yaml" + } + }, + "added-post-cancel-account-504": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "properties": { + "reason": { + "description": "A string explaining that the account is taking longer to close than expected.", + "example": "Cancellation is taking longer than expected. It may have been successful. Contact customer support to confirm.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-cancel-account-504.yaml" + } + }, + "added-post-client": { + "allOf": [ + { + "additionalProperties": false, + "description": "A third-party application registered to Linode that users may log into with their Linode account through our authentication server at [login.linode.com](https://login.linode.com). Using an OAuth Client, a third-party developer may be given access to some, or all, of a User's account for the purposes of their application.", + "properties": { + "id": { + "description": "__Read-only__ The OAuth Client ID. This is used to identify the client, and is a publicly known value (it is not a secret).", + "example": "2737bf16b39ab5d7b4a1", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "label": { + "description": "__Filterable__ The name of this application. This will be presented to users when they are asked to grant it access to their Account.", + "example": "Test_Client_1", + "maxLength": 512, + "minLength": 1, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "public": { + "default": false, + "description": "__Filterable__ If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the [OAuth spec](https://oauth.net/2/) for more details.", + "example": false, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + }, + "redirect_uri": { + "description": "The location a successful log in from [login.linode.com](https://login.linode.com) should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.", + "example": "https://example.org/oauth/callback", + "format": "url", + "type": "string", + "x-linode-cli-display": 5 + }, + "secret": { + "description": "__Read-only__ The OAuth Client secret, used in the OAuth exchange. This is returned as `` except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly.", + "example": "", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "__Read-only__ The status of this application. `active` by default.", + "enum": [ + "active", + "disabled", + "suspended" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-color": { + "default_": "white", + "suspended": "red" + }, + "x-linode-cli-display": 3 + }, + "thumbnail_url": { + "description": "__Read-only__ The URL where this client's thumbnail may be viewed, or `null` if this client does not have a thumbnail set.", + "example": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail", + "format": "url", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/oauth-client.yaml" + } + } + ], + "required": [ + "label", + "redirect_uri" + ], + "x-akamai": { + "file-path": "schemas/added-post-client.yaml" + } + }, + "added-post-entity-transfer": { + "additionalProperties": false, + "properties": { + "entities": { + "additionalProperties": false, + "description": "A collection of the entities to include in this transfer request, separated by type.", + "properties": { + "linodes": { + "description": "An array containing the IDs of each of the Linodes included in this transfer.", + "example": [ + 111, + 222 + ], + "items": { + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + } + }, + "type": "object" + } + }, + "required": [ + "entities" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-entity-transfer.yaml" + } + }, + "added-post-pay-pal-payment-200": { + "additionalProperties": false, + "properties": { + "checkout_token": { + "description": "__Read-only__ The checkout token generated for this Payment.", + "example": "EC-1A2B3C4D5E6F7G8H9", + "readOnly": true, + "type": "string" + }, + "payment_id": { + "description": "The paypal-generated ID for this Payment. Used when authorizing the Payment in PayPal's interface.", + "example": "PAY-1234567890ABCDEFGHIJKLMN", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-pay-pal-payment-200.yaml" + } + }, + "added-post-payment": { + "additionalProperties": false, + "properties": { + "payment_method_id": { + "description": "The ID of the Payment Method to apply to the Payment.", + "example": 123, + "type": "integer" + }, + "usd": { + "description": "The amount in US Dollars of the Payment.\n\n- Can begin with or without `$`.\n- Commas (`,`) are not accepted.\n- Must end with a decimal expression, such as `.00` or `.99`.\n- Minimum: `$5.00` or the Account balance, whichever is lower.\n- Maximum: `$2000.00` or the Account balance up to `$50000.00`, whichever is greater.", + "example": "$120.50", + "pattern": "^\\$?\\d+\\.\\d{2}$", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-payment.yaml" + } + }, + "added-post-payment-method": { + "additionalProperties": false, + "description": "Payment Method Request Object.", + "properties": { + "data": { + "additionalProperties": false, + "description": "An object representing the credit card information you have on file with Linode to make Payments against your Account.", + "properties": { + "card_number": { + "description": "Your credit card number. No spaces or hyphens (`-`) allowed.", + "example": 4111111111111111, + "format": "digits", + "maxLength": 24, + "minLength": 14, + "type": "string" + }, + "cvv": { + "description": "CVV (Card Verification Value) of the credit card, typically found on the back of the card.", + "example": "123", + "format": "digits", + "maxLength": 4, + "minLength": 3, + "type": "string" + }, + "expiry_month": { + "description": "A value from 1-12 representing the expiration month of your credit card.\n\n - 1 = January\n - 2 = February\n - 3 = March\n - Etc.", + "example": 12, + "maximum": 12, + "minimum": 1, + "type": "integer" + }, + "expiry_year": { + "description": "A four-digit integer representing the expiration year of your credit card.\n\nThe combination of `expiry_month` and `expiry_year` must result in a month/year combination of the current month or in the future. An expiration date set in the past is invalid.", + "example": 2020, + "maxLength": 4, + "minLength": 4, + "type": "integer" + } + }, + "required": [ + "card_number", + "expiry_month", + "expiry_year", + "cvv" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/credit-card.yaml" + } + }, + "is_default": { + "description": "Whether this Payment Method is the default method for automatically processing service charges.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "type": { + "description": "The type of Payment Method.\n\nAlternative Payment Methods including Google Pay and PayPal can be added using the Cloud Manager. See the [Manage Payment Methods](https://www.linode.com/docs/products/platform/billing/guides/payment-methods/) guide\nfor details and instructions.", + "enum": [ + "credit_card" + ], + "example": "credit_card", + "type": "string" + } + }, + "required": [ + "type", + "data", + "is_default" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-payment-method.yaml" + } + }, + "added-post-promo-credit": { + "additionalProperties": false, + "properties": { + "promo_code": { + "description": "The Promo Code.", + "maxLength": 32, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "promo_code" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-promo-credit.yaml" + } + }, + "added-post-service-transfer": { + "additionalProperties": false, + "properties": { + "entities": { + "additionalProperties": false, + "description": "A collection of the services to include in this transfer request, separated by type.", + "properties": { + "linodes": { + "description": "An array containing the IDs of each of the Linodes included in this transfer.", + "example": [ + 111, + 222 + ], + "items": { + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + } + }, + "type": "object" + } + }, + "required": [ + "entities" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/added-post-service-transfer.yaml" + } + }, + "added-post-user": { + "allOf": [ + { + "additionalProperties": false, + "description": "A user on your account. Unrestricted users can log in and access information about your account, while restricted users may only access entities or perform actions they've been granted access to.", + "properties": { + "email": { + "description": "This user's email address. Akamai uses this address for account management communications.", + "example": "example_user@linode.com", + "format": "email", + "type": "string", + "x-linode-cli-display": 2 + }, + "last_login": { + "additionalProperties": false, + "description": "__Read-only__ Details on this user's last login attempt. Returned as `null` if this user hasn't attempted a login since it was created. You can run the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information.", + "nullable": true, + "properties": { + "login_datetime": { + "description": "__Read-only__ The date and time of this user's most recent login attempt.", + "example": "2018-01-01T01:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "__Read-only__ The result of this user's most recent login attempt.", + "enum": [ + "successful", + "failed" + ], + "example": "successful", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "password_created": { + "description": "__Read-only__ When this user's current password was created. You initially create a password during the account sign-up process, and you can update it using the [Reset Password](https://login.linode.com/forgot/password) webpage. Returned as `null` if this user doesn't have a password set.", + "example": "2018-01-01T01:01:01", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "restricted": { + "description": "If `true`, this user needs specific access granted to perform actions or access entities on your account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted user.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "ssh_keys": { + "description": "__Read-only__ A list of the labels for SSH keys added by this user. Users can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation. These keys are deployed when this user is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)", + "example": [ + "home-pc", + "laptop" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "tfa_enabled": { + "description": "__Read-only__ Whether this user has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA.", + "example": true, + "readOnly": true, + "type": "boolean" + }, + "username": { + "description": "__Filterable__ The name of this user. This user needs to use this value to log in. It may also display alongside actions this user performs, including events or public StackScripts.", + "example": "example_user", + "maxLength": 32, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "verified_phone_number": { + "description": "__Read-only__ The [verified](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) phone number for this user profile. Returned as `null` if the user doesn't have a verified phone number.", + "example": "+5555555555", + "format": "phone", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/user.yaml" + } + } + ], + "required": [ + "username", + "email" + ], + "x-akamai": { + "file-path": "schemas/added-post-user.yaml" + } + }, + "added-put-user-200": { + "allOf": [ + { + "additionalProperties": false, + "description": "A user on your account. Unrestricted users can log in and access information about your account, while restricted users may only access entities or perform actions they've been granted access to.", + "properties": { + "email": { + "description": "This user's email address. Akamai uses this address for account management communications.", + "example": "example_user@linode.com", + "format": "email", + "type": "string", + "x-linode-cli-display": 2 + }, + "last_login": { + "additionalProperties": false, + "description": "__Read-only__ Details on this user's last login attempt. Returned as `null` if this user hasn't attempted a login since it was created. You can run the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information.", + "nullable": true, + "properties": { + "login_datetime": { + "description": "__Read-only__ The date and time of this user's most recent login attempt.", + "example": "2018-01-01T01:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "__Read-only__ The result of this user's most recent login attempt.", + "enum": [ + "successful", + "failed" + ], + "example": "successful", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "password_created": { + "description": "__Read-only__ When this user's current password was created. You initially create a password during the account sign-up process, and you can update it using the [Reset Password](https://login.linode.com/forgot/password) webpage. Returned as `null` if this user doesn't have a password set.", + "example": "2018-01-01T01:01:01", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "restricted": { + "description": "If `true`, this user needs specific access granted to perform actions or access entities on your account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted user.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "ssh_keys": { + "description": "__Read-only__ A list of the labels for SSH keys added by this user. Users can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation. These keys are deployed when this user is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)", + "example": [ + "home-pc", + "laptop" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "tfa_enabled": { + "description": "__Read-only__ Whether this user has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA.", + "example": true, + "readOnly": true, + "type": "boolean" + }, + "username": { + "description": "__Filterable__ The name of this user. This user needs to use this value to log in. It may also display alongside actions this user performs, including events or public StackScripts.", + "example": "example_user", + "maxLength": 32, + "minLength": 3, + "pattern": "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "verified_phone_number": { + "description": "__Read-only__ The [verified](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) phone number for this user profile. Returned as `null` if the user doesn't have a verified phone number.", + "example": "+5555555555", + "format": "phone", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/user.yaml" + } + }, + { + "additionalProperties": false, + "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", + "properties": { + "user_type": { + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "enum": [ + "parent", + "child", + "proxy", + "default" + ], + "example": "parent", + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/user-type.yaml" + } + } + ], + "x-akamai": { + "file-path": "schemas/added-put-user-200.yaml" + } + }, + "agreements": { + "additionalProperties": false, + "description": "Acknowledgment status for agreements on your account. When acknowledging any agreements, set them to `true` and omit any remainders.", + "properties": { + "billing_agreement": { + "description": "Certain regions require that you share your tax identification number (TIN) with Akamai. When you do, you need to acknowledge Akamai's [privacy statement](https://www.akamai.com/legal/privacy-statement) agreement, in regards to its protection. When set to `true`, you've acknowledged this agreement.", + "type": "boolean" + }, + "eu_model": { + "description": "The acknowledgement status for the [cross-border data transfer](https://www.akamai.com/legal/compliance/privacy-trust-center/cross-border-data-transfer-statement) agreement.", + "example": true, + "type": "boolean" + }, + "master_service_agreement": { + "description": "The acknowledgement status for Akamai's [master service agreement](https://www.linode.com/legal-msa/).", + "example": true, + "type": "boolean" + }, + "privacy_policy": { + "description": "The acknowledgement status for Akamai's [privacy statement](https://www.akamai.com/legal/privacy-statement).", + "example": true, + "type": "boolean" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/agreements.yaml" + } + }, + "beta-program-enrolled": { + "additionalProperties": false, + "description": "An object representing an enrolled Beta Program for the Account.", + "properties": { + "description": { + "description": "__Read-only__ Additional details regarding the Beta Program.", + "example": "This is an open public beta for an example feature.", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "ended": { + "description": "__Filterable__, __Read-only__ The date-time that the Beta Program ended.\n\n`null` indicates that the Beta Program is ongoing.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 5, + "x-linode-filterable": true + }, + "enrolled": { + "description": "__Filterable__, __Read-only__ The date-time of Account enrollment to the Beta Program.", + "example": "2023-09-11T00:00:00", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 6, + "x-linode-filterable": true + }, + "id": { + "description": "The unique identifier of the Beta Program.", + "example": "example_open", + "type": "string", + "x-linode-cli-display": 1 + }, + "label": { + "description": "__Filterable__, __Read-only__ The name of the Beta Program.", + "example": "Example Open Beta", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "started": { + "description": "__Filterable__, __Read-only__ The start date-time of the Beta Program.", + "example": "2023-07-11T00:00:00", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/beta-program-enrolled.yaml" + } + }, + "child-account": { + "additionalProperties": false, + "description": "Child account object.", + "properties": { + "active_since": { + "description": "__Read-only__ The activation date and time for the child account.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "address_1": { + "description": "__Filterable__ First line of this child account's billing address.", + "example": "123 Main Street", + "maxLength": 64, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "address_2": { + "description": "__Filterable__ Second line of this child account's billing address, if applicable.", + "example": "Suite A", + "maxLength": 64, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "balance": { + "description": "__Read-only__ This child account's balance, in US dollars.", + "example": 200, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "balance_uninvoiced": { + "description": "__Read-only__ This child account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate.", + "example": 145, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "billing_source": { + "description": "__Read-only__ The source of service charges for this account, as determined by its relationship with Akamai. The API returns a value of `external` to describe a child account in a parent-child account environment.", + "enum": [ + "external" + ], + "example": "external", + "readOnly": true, + "type": "string" + }, + "capabilities": { + "description": "__Read-only__ A list of the capabilities the child account supports.", + "example": [ + "Linodes", + "NodeBalancers", + "Block Storage", + "Object Storage" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "city": { + "description": "__Filterable__ The city for this child account's billing address.", + "example": "San Diego", + "maxLength": 24, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "company": { + "description": "__Filterable__ The company name for the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`. You can't change this value yourself. We use it to create the proxy users that a parent account uses to access a child account. Talk to your account team if you need to change this value.", + "example": "Acme", + "maxLength": 128, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "country": { + "description": "__Filterable__ The two-letter ISO 3166 country code for this child account's billing address.", + "example": "US", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "credit_card": { + "additionalProperties": false, + "description": "__Read-only__ Information for the credit card you've assigned to this child account.", + "properties": { + "expiry": { + "description": "The expiration month and year of the credit card.", + "example": "11/2024", + "type": "string" + }, + "last_four": { + "description": "The last four digits of the credit card.", + "example": 1111, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "email": { + "description": "__Filterable__ The email address of the owner of this child account.", + "example": "john.smith@linode.com", + "maxLength": 128, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "euuid": { + "description": "__Read-only__ An external, unique identifier that Akamai assigned to the child account.", + "example": "A1BC2DEF-34GH-567I-J890KLMN12O34P56", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "first_name": { + "description": "__Filterable__ The first name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`.", + "example": "John", + "maxLength": 50, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "last_name": { + "description": "__Filterable__ The last name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`.", + "example": "Smith", + "maxLength": 50, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "phone": { + "description": "__Filterable__ The phone number for the owner of this child account.", + "example": "858-555-1212", + "maxLength": 32, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "state": { + "description": "__Filterable__ The state or province for the billing address (`address_1` and `address_2, if applicable`). If in the United States (US) or Canada (CA), this is the two-letter ISO 3166 State or Province code.\n\n> \ud83d\udcd8\n>\n> If this is a US military address, use state abbreviations (AA, AE, AP).", + "example": "CA", + "maxLength": 24, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "tax_id": { + "description": "The tax identification number for this child account. Use this for tax calculations in some countries. If you live in a country that doesn't collect taxes, ensure this is an empty string (`\"\"`).", + "example": "ATU99999999", + "maxLength": 25, + "type": "string" + }, + "zip": { + "description": "__Filterable__ The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Can't contain more than 9 letter or number characters.", + "example": "92111-1234", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/child-account.yaml" + } + }, + "credit-card": { + "additionalProperties": false, + "description": "An object representing the credit card information you have on file with Linode to make Payments against your Account.", + "properties": { + "card_number": { + "description": "Your credit card number. No spaces or hyphens (`-`) allowed.", + "example": 4111111111111111, + "format": "digits", + "maxLength": 24, + "minLength": 14, + "type": "string" + }, + "cvv": { + "description": "CVV (Card Verification Value) of the credit card, typically found on the back of the card.", + "example": "123", + "format": "digits", + "maxLength": 4, + "minLength": 3, + "type": "string" + }, + "expiry_month": { + "description": "A value from 1-12 representing the expiration month of your credit card.\n\n - 1 = January\n - 2 = February\n - 3 = March\n - Etc.", + "example": 12, + "maximum": 12, + "minimum": 1, + "type": "integer" + }, + "expiry_year": { + "description": "A four-digit integer representing the expiration year of your credit card.\n\nThe combination of `expiry_month` and `expiry_year` must result in a month/year combination of the current month or in the future. An expiration date set in the past is invalid.", + "example": 2020, + "maxLength": 4, + "minLength": 4, + "type": "integer" + } + }, + "required": [ + "card_number", + "expiry_month", + "expiry_year", + "cvv" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/credit-card.yaml" + } + }, + "credit-card-data": { + "additionalProperties": false, + "description": "Credit card information.", + "properties": { + "card_type": { + "description": "__Read-only__ The type of credit card.", + "example": "Discover", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ The expiration month and year of the credit card.", + "example": "06/2022", + "format": "MM/YYYY", + "readOnly": true, + "type": "string" + }, + "last_four": { + "description": "__Read-only__ The last four digits of the credit card number.", + "example": "1234", + "readOnly": true, + "type": "string" + } + }, + "title": "Credit card", + "type": "object", + "x-akamai": { + "file-path": "schemas/credit-card-data.yaml" + } + }, + "description": { + "description": "__Read-only__ Additional details regarding the Beta Program.", + "example": "This is an open public beta for an example feature.", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "ended": { + "description": "__Filterable__, __Read-only__ The date-time that the Beta Program ended.\n\n`null` indicates that the Beta Program is ongoing.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 6, + "x-linode-filterable": true + }, + "entities": { + "additionalProperties": false, + "description": "A collection of the entities to include in this transfer request, separated by type.", + "properties": { + "linodes": { + "description": "An array containing the IDs of each of the Linodes included in this transfer.", + "example": [ + 111, + 222 + ], + "items": { + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + } + }, + "type": "object" + }, + "entity-transfer": { + "additionalProperties": false, + "description": "An object representing an Entity Transfer.", + "properties": { + "created": { + "description": "When this transfer was created.", + "example": "2021-02-11T16:37:03", + "format": "date-time", + "type": "string" + }, + "entities": { + "additionalProperties": false, + "description": "A collection of the entities to include in this transfer request, separated by type.", + "properties": { + "linodes": { + "description": "An array containing the IDs of each of the Linodes included in this transfer.", + "example": [ + 111, + 222 + ], + "items": { + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + } + }, + "type": "object" + }, + "expiry": { + "description": "When this transfer expires. Transfers will automatically expire 24 hours after creation.", + "example": "2021-02-12T16:37:03", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 3 + }, + "is_sender": { + "description": "__Filterable__ If the requesting account created this transfer.", + "example": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + }, + "status": { + "description": "__Filterable__ The status of the transfer request:\n\n`accepted`: The transfer has been accepted by another user and is currently in progress. Transfers can take up to 3 hours to complete.\n`canceled`: The transfer has been canceled by the sender.\n`completed`: The transfer has completed successfully.\n`failed`: The transfer has failed after initiation.\n`pending`: The transfer is ready to be accepted.\n`stale`: The transfer has exceeded its expiration date. It can no longer be accepted or canceled.", + "enum": [ + "accepted", + "canceled", + "completed", + "failed", + "pending", + "stale" + ], + "example": "pending", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-color": { + "accepted": "yellow", + "canceled": "red", + "completed": "green", + "default_": "white", + "failed": "red", + "pending": "yellow", + "stale": "red" + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "token": { + "description": "The token used to identify and accept or cancel this transfer.", + "example": "123E4567-E89B-12D3-A456-426614174000", + "format": "uuid", + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "When this transfer was last updated.", + "example": "2021-02-11T16:37:03", + "format": "date-time", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/entity-transfer.yaml" + } + }, + "error-object": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "event": { + "additionalProperties": false, + "description": "A specific event object. An event is an action taken against an entity related to your account. For example, if you boot a Linode, the system creates an event. The events returned depend on your user grants.", + "properties": { + "action": { + "description": "__Read-only__ The action that caused this event. New actions may be added in the future.", + "enum": [ + "account_agreement_eu_model", + "account_promo_apply", + "account_update", + "account_settings_update", + "backups_enable", + "backups_cancel", + "backups_restore", + "community_question_reply", + "community_like", + "community_mention", + "credit_card_updated", + "database_create", + "database_delete", + "database_update", + "database_failed", + "database_degraded", + "database_create_failed", + "database_update_failed", + "database_backup_create", + "database_backup_restore", + "database_backup_delete", + "database_credentials_reset", + "database_low_disk_space", + "database_scale", + "database_resize", + "database_resize_create", + "database_migrate", + "database_upgrade", + "database_suspend", + "database_resume", + "disk_create", + "disk_delete", + "disk_update", + "disk_duplicate", + "disk_imagize", + "disk_resize", + "dns_record_create", + "dns_record_delete", + "dns_record_update", + "dns_zone_create", + "dns_zone_delete", + "dns_zone_import", + "dns_zone_update", + "entity_transfer_accept", + "entity_transfer_accept_recipient", + "entity_transfer_cancel", + "entity_transfer_create", + "entity_transfer_fail", + "entity_transfer_stale", + "firewall_apply", + "firewall_create", + "firewall_delete", + "firewall_disable", + "firewall_enable", + "firewall_update", + "firewall_device_add", + "firewall_device_remove", + "firewall_rules_update", + "host_reboot", + "image_delete", + "image_update", + "image_upload", + "interface_create", + "interface_delete", + "interface_update", + "ipaddress_update", + "ipv6pool_add", + "ipv6pool_delete", + "lassie_reboot", + "lish_boot", + "linode_addip", + "linode_boot", + "linode_clone", + "linode_create", + "linode_delete", + "linode_update", + "linode_deleteip", + "linode_kvmify", + "linode_migrate", + "linode_migrate_datacenter", + "linode_migrate_datacenter_create", + "linode_mutate", + "linode_mutate_create", + "linode_poweroff_on", + "linode_reboot", + "linode_rebuild", + "linode_resize", + "linode_resize_create", + "linode_resize_warm_create", + "linode_shutdown", + "linode_snapshot", + "linode_config_create", + "linode_config_delete", + "linode_config_update", + "lke_control_plane_acl_create", + "lke_control_plane_acl_update", + "lke_control_plane_acl_delete", + "lke_cluster_create", + "lke_cluster_update", + "lke_cluster_delete", + "lke_cluster_recycle", + "lke_cluster_regenerate", + "lke_node_create", + "lke_node_delete", + "lke_node_recycle", + "lke_pool_create", + "lke_pool_delete", + "lke_pool_recycle", + "lke_kubeconfig_regenerate", + "lke_token_rotate", + "longviewclient_create", + "longviewclient_delete", + "longviewclient_update", + "managed_disabled", + "managed_enabled", + "managed_service_create", + "managed_service_delete", + "nodebalancer_create", + "nodebalancer_delete", + "nodebalancer_update", + "nodebalancer_config_create", + "nodebalancer_config_delete", + "nodebalancer_config_update", + "nodebalancer_node_create", + "nodebalancer_node_delete", + "nodebalancer_node_update", + "oauth_client_create", + "oauth_client_delete", + "oauth_client_secret_reset", + "oauth_client_update", + "obj_access_key_create", + "obj_access_key_delete", + "obj_access_key_update", + "password_reset", + "payment_method_add", + "payment_submitted", + "placement_group_assign", + "placement_group_became_compliant", + "placement_group_became_non_compliant", + "placement_group_create", + "placement_group_delete", + "placement_group_unassign", + "placement_group_update", + "profile_update", + "stackscript_create", + "stackscript_delete", + "stackscript_update", + "stackscript_publicize", + "stackscript_revise", + "subnet_create", + "subnet_delete", + "subnet_update", + "tag_create", + "tag_delete", + "tag_update", + "tax_id_valid", + "tax_id_invalid", + "tfa_disabled", + "tfa_enabled", + "ticket_attachment_upload", + "ticket_create", + "ticket_update", + "token_create", + "token_delete", + "token_update", + "user_create", + "user_update", + "user_delete", + "user_ssh_key_add", + "user_ssh_key_delete", + "user_ssh_key_update", + "vlan_attach", + "vlan_detach", + "volume_attach", + "volume_clone", + "volume_create", + "volume_delete", + "volume_update", + "volume_detach", + "volume_resize", + "volume_migrate", + "volume_migrate_scheduled", + "vpc_create", + "vpc_delete", + "vpc_update" + ], + "example": "ticket_create", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "complete_time": { + "description": "__Beta__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "created": { + "description": "__Read-only__ When the system created this event.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "description": { + "description": "__Beta__ Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "duration": { + "description": "__Read-only__ The number of seconds that it takes for the event to complete.", + "example": 300.56, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 7 + }, + "entity": { + "additionalProperties": false, + "description": "__Read-only__ Detailed information about the entity that triggered this event.", + "properties": { + "id": { + "description": "The unique identifier assigned to the entity.", + "example": 11111, + "type": "integer" + }, + "label": { + "description": "The name of the entity. The label may reflect changes that occur with this event.", + "example": "Problem booting my Linode", + "type": "string", + "x-linode-cli-display": 5 + }, + "type": { + "description": "__Read-only__ The type of entity that is being referenced by the event.", + "enum": [ + "account", + "backups", + "community", + "disks", + "domain", + "entity_transfer", + "firewall", + "image", + "ipaddress", + "linode", + "longview", + "loadbalancer", + "managed_service", + "nodebalancer", + "oauth_client", + "profile", + "stackscript", + "tag", + "ticket", + "token", + "user", + "user_ssh_key", + "volume" + ], + "example": "ticket", + "readOnly": true, + "type": "string" + }, + "url": { + "description": "The URL where you can access this event's entity. If it's a relative URL, it's relative to the domain where you retrieved the event.", + "example": "/v4/support/tickets/11111", + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "id": { + "description": "__Read-only__ The unique ID of this event.", + "example": 123, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "maintenance_policy_set": { + "description": "__Beta__ The maintenance policy configured by the user for this event.", + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "message": { + "description": "Additional information about the event. This can be a more detailed representation of an event that can help you diagnose non-obvious failures.", + "example": "None", + "nullable": true, + "type": "string", + "x-linode-cli-display": 9 + }, + "not_before": { + "description": "__Beta__ The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "percent_complete": { + "description": "__Read-only__ A percentage estimating the amount of time remaining for an event. Returned as `null` for notification events.", + "example": null, + "nullable": true, + "readOnly": true, + "type": "integer" + }, + "rate": { + "description": "__Read-only__ The rate of completion of the event. Only some events return a `rate`, such as the `migration` and `resize` events.", + "example": null, + "nullable": true, + "readOnly": true, + "type": "string" + }, + "read": { + "description": "__Read-only__ If a user on your account has [marked an event as read](https://techdocs.akamai.com/linode-api/reference/post-event-read).", + "example": true, + "readOnly": true, + "type": "boolean" + }, + "secondary_entity": { + "additionalProperties": false, + "description": "__Read-only__ Detailed information about the event's secondary entity, if applicable.", + "properties": { + "id": { + "description": "The identifier for the secondary entity object.", + "example": "linode/debian9", + "type": "string" + }, + "label": { + "description": "The name of the secondary entity object.", + "example": "linode1234", + "type": "string" + }, + "type": { + "description": "__Read-only__ The type of secondary entity object that's being referenced by the event.", + "example": "linode", + "readOnly": true, + "type": "string" + }, + "url": { + "description": "The URL where you can access this event's secondary entity object. If it's a relative URL, it's relative to the domain where you retrieved the event.", + "example": "/v4/linode/instances/1234", + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "seen": { + "description": "__Read-only__ If a user on your account has [marked an event as seen](https://techdocs.akamai.com/linode-api/reference/post-event-seen).", + "example": true, + "readOnly": true, + "type": "boolean" + }, + "source": { + "description": "__Beta__ The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "start_time": { + "description": "__Beta__ The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "status": { + "description": "__Read-only__ The current status of this event.", + "enum": [ + "failed", + "finished", + "notification", + "scheduled", + "started" + ], + "readOnly": true, + "type": "string", + "x-linode-cli-color": { + "default_": "white", + "failed": "red", + "finished": "green", + "started": "yellow" + }, + "x-linode-cli-display": 8 + }, + "time_remaining": { + "description": "__Read-only__ The estimated time remaining until the event completes. This is only returned for some in-progress migration events. Otherwise, `percent_complete` indicates how long until completion.", + "example": null, + "nullable": true, + "readOnly": true, + "type": "string" + }, + "username": { + "description": "__Read-only__ The name of the user whose action caused the event.", + "example": "exampleUser", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 2 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/event.yaml" + } + }, + "events": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "properties": { + "action": { + "description": "__Filterable__ The action that caused this event. New actions may be added in the future.", + "enum": [ + "account_agreement_eu_model", + "account_promo_apply", + "account_update", + "account_settings_update", + "backups_enable", + "backups_cancel", + "backups_restore", + "community_question_reply", + "community_like", + "community_mention", + "credit_card_updated", + "database_create", + "database_delete", + "database_update", + "database_failed", + "database_degraded", + "database_create_failed", + "database_update_failed", + "database_backup_create", + "database_backup_restore", + "database_backup_delete", + "database_credentials_reset", + "database_low_disk_space", + "database_scale", + "database_resize", + "database_resize_create", + "database_migrate", + "database_upgrade", + "database_suspend", + "database_resume", + "disk_create", + "disk_delete", + "disk_update", + "disk_duplicate", + "disk_imagize", + "disk_resize", + "dns_record_create", + "dns_record_delete", + "dns_record_update", + "dns_zone_create", + "dns_zone_delete", + "dns_zone_import", + "dns_zone_update", + "entity_transfer_accept", + "entity_transfer_accept_recipient", + "entity_transfer_cancel", + "entity_transfer_create", + "entity_transfer_fail", + "entity_transfer_stale", + "firewall_apply", + "firewall_create", + "firewall_delete", + "firewall_disable", + "firewall_enable", + "firewall_update", + "firewall_device_add", + "firewall_device_remove", + "firewall_rules_update", + "host_reboot", + "image_delete", + "image_update", + "image_upload", + "interface_create", + "interface_delete", + "interface_update", + "ipaddress_update", + "ipv6pool_add", + "ipv6pool_delete", + "lassie_reboot", + "lish_boot", + "linode_addip", + "linode_boot", + "linode_clone", + "linode_create", + "linode_delete", + "linode_update", + "linode_deleteip", + "linode_kvmify", + "linode_migrate", + "linode_migrate_datacenter", + "linode_migrate_datacenter_create", + "linode_mutate", + "linode_mutate_create", + "linode_poweroff_on", + "linode_reboot", + "linode_rebuild", + "linode_resize", + "linode_resize_create", + "linode_resize_warm_create", + "linode_shutdown", + "linode_snapshot", + "linode_config_create", + "linode_config_delete", + "linode_config_update", + "lke_cluster_create", + "lke_cluster_update", + "lke_cluster_delete", + "lke_cluster_recycle", + "lke_cluster_regenerate", + "lke_control_plane_acl_create", + "lke_control_plane_acl_update", + "lke_control_plane_acl_delete", + "lke_node_create", + "lke_node_delete", + "lke_node_recycle", + "lke_pool_create", + "lke_pool_delete", + "lke_pool_recycle", + "lke_kubeconfig_regenerate", + "lke_token_rotate", + "longviewclient_create", + "longviewclient_delete", + "longviewclient_update", + "managed_disabled", + "managed_enabled", + "managed_service_create", + "managed_service_delete", + "nodebalancer_create", + "nodebalancer_delete", + "nodebalancer_update", + "nodebalancer_config_create", + "nodebalancer_config_delete", + "nodebalancer_config_update", + "nodebalancer_node_create", + "nodebalancer_node_delete", + "nodebalancer_node_update", + "oauth_client_create", + "oauth_client_delete", + "oauth_client_secret_reset", + "oauth_client_update", + "obj_access_key_create", + "obj_access_key_delete", + "obj_access_key_update", + "password_reset", + "payment_method_add", + "payment_submitted", + "placement_group_assign", + "placement_group_became_compliant", + "placement_group_became_non_compliant", + "placement_group_create", + "placement_group_delete", + "placement_group_unassign", + "placement_group_update", + "profile_update", + "stackscript_create", + "stackscript_delete", + "stackscript_update", + "stackscript_publicize", + "stackscript_revise", + "subnet_create", + "subnet_delete", + "subnet_update", + "tag_create", + "tag_delete", + "tag_update", + "tax_id_valid", + "tax_id_invalid", + "tfa_disabled", + "tfa_enabled", + "ticket_attachment_upload", + "ticket_create", + "ticket_update", + "token_create", + "token_delete", + "token_update", + "user_create", + "user_update", + "user_delete", + "user_ssh_key_add", + "user_ssh_key_delete", + "user_ssh_key_update", + "vlan_attach", + "vlan_detach", + "volume_attach", + "volume_clone", + "volume_create", + "volume_delete", + "volume_update", + "volume_detach", + "volume_resize", + "volume_migrate", + "volume_migrate_scheduled", + "vpc_create", + "vpc_delete", + "vpc_update" + ], + "example": "ticket_create", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "complete_time": { + "description": "__Beta__, __Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "created": { + "description": "__Filterable__ When the system created this event.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 6, + "x-linode-filterable": true + }, + "description": { + "description": "__Beta__, __Filterable__ Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "duration": { + "description": "The number of seconds that it takes for the event to complete.", + "example": 300.56, + "type": "number", + "x-linode-cli-display": 7 + }, + "entity": { + "additionalProperties": false, + "description": "Detailed information about the entity that triggered this event.", + "properties": { + "id": { + "description": "__Filterable__ The unique identifier assigned to the entity.\n\n> \ud83d\udcd8\n>\n> Consider these points when filtering by `id`:\n>\n> - The `disks` and `backups` entities use the `id` of their parent Linode when filtering for events.\n>\n> - The `account` and `profile` entities don't have an `id`. To filter these entities, use the `type` object instead.\n>\n> - The `tag` entity uses the tag's name as its `id`. Set this value to the tag's name to filter.", + "example": 11111, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "label": { + "description": "The name of the entity. The label may reflect changes that occur with this event.", + "example": "Problem booting my Linode", + "type": "string", + "x-linode-cli-display": 5 + }, + "type": { + "description": "__Filterable__ The type of entity that is being referenced by the event.", + "enum": [ + "account", + "backups", + "community", + "disks", + "domain", + "entity_transfer", + "firewall", + "image", + "ipaddress", + "linode", + "longview", + "loadbalancer", + "managed_service", + "nodebalancer", + "oauth_client", + "profile", + "stackscript", + "tag", + "ticket", + "token", + "user", + "user_ssh_key", + "volume" + ], + "example": "ticket", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "url": { + "description": "The URL where you can access this event's entity. If it's a relative URL, it's relative to the domain where you retrieved the event.", + "example": "/v4/support/tickets/11111", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "__Filterable__ The unique ID of this event.", + "example": 123, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "maintenance_policy_set": { + "description": "__Beta__, __Filterable__ The maintenance policy configured by the user for this event.", + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "message": { + "description": "Additional information about the event. This can be a more detailed representation of an event that can help you diagnose non-obvious failures.", + "example": "None", + "nullable": true, + "type": "string", + "x-linode-cli-display": 9 + }, + "not_before": { + "description": "__Beta__, __Filterable__ The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "percent_complete": { + "description": "A percentage estimating the amount of time remaining for an event. Returned as `null` for notification events.", + "example": null, + "nullable": true, + "type": "integer" + }, + "rate": { + "description": "The rate of completion of the event. Only some events return a `rate`, such as the `migration` and `resize` events.", + "example": null, + "nullable": true, + "type": "string" + }, + "read": { + "description": "__Filterable__ If a user on your account has [marked an event as read](https://techdocs.akamai.com/linode-api/reference/post-event-read).", + "example": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "secondary_entity": { + "additionalProperties": false, + "description": "Detailed information about the event's secondary entity, if applicable.", + "properties": { + "id": { + "description": "The identifier for the secondary entity object.", + "example": "linode/debian9", + "type": "string" + }, + "label": { + "description": "The name of the secondary entity object.", + "example": "linode1234", + "type": "string" + }, + "type": { + "description": "The type of secondary entity object that's being referenced by the event.", + "example": "linode", + "type": "string" + }, + "url": { + "description": "The URL where you can access this event's secondary entity object. If it's a relative URL, it's relative to the domain where you retrieved the event.", + "example": "/v4/linode/instances/1234", + "type": "string" + } + }, + "type": "object" + }, + "seen": { + "description": "If a user on your account has [marked an event as seen](https://techdocs.akamai.com/linode-api/reference/post-event-seen).", + "example": true, + "type": "boolean" + }, + "source": { + "description": "__Beta__, __Filterable__ The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "start_time": { + "description": "__Beta__, __Filterable__ The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "status": { + "description": "The current status of this event.", + "enum": [ + "completed", + "failed", + "finished", + "in_progress", + "notification", + "scheduled", + "started" + ], + "type": "string", + "x-linode-cli-color": { + "completed": "green", + "default_": "white", + "failed": "red", + "finished": "green", + "in_progress": "yellow", + "started": "yellow" + }, + "x-linode-cli-display": 8 + }, + "time_remaining": { + "description": "The estimated time remaining until the event completes. This is only returned for some in-progress migration events. Otherwise, the `percent_complete` attribute indicates how long until completion.", + "example": null, + "nullable": true, + "type": "string" + }, + "username": { + "description": "The name of the user whose action caused the event.", + "example": "exampleUser", + "nullable": true, + "type": "string", + "x-linode-cli-display": 2 + } + }, + "type": "object" + }, + "type": "array" + }, + "page": { + "description": "The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "type": "integer" + }, + "pages": { + "description": "The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "type": "integer" + }, + "results": { + "description": "The total number of results.", + "example": 1, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/events.yaml" + } + }, + "google-pay-data": { + "additionalProperties": false, + "description": "Google Pay information.", + "properties": { + "card_type": { + "description": "__Read-only__ The type of credit card.", + "example": "Discover", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ The expiration month and year of the credit card.", + "example": "06/2022", + "format": "MM/YYYY", + "readOnly": true, + "type": "string" + }, + "last_four": { + "description": "__Read-only__ The last four digits of the credit card number.", + "example": "1234", + "readOnly": true, + "type": "string" + } + }, + "title": "Google Pay", + "type": "object", + "x-akamai": { + "file-path": "schemas/google-pay-data.yaml" + } + }, + "grant": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "grants-response": { + "additionalProperties": false, + "properties": { + "database": { + "description": "The grants this user has for individual Managed Databases on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "domain": { + "description": "The grants this user has for individual domains on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "firewall": { + "description": "The grants this user has for individual firewalls on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "global": { + "additionalProperties": false, + "description": "The grants the user has to all resources on your account.", + "properties": { + "account_access": { + "description": "The level of access this user has to account-level actions, like billing information and user management.\n\n> \ud83d\udcd8\n>\n> A `restricted` user can't be used to manage users, even if this is set to `read-write`. Only unrestricted users can manage other users on an account.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this grant can be added to a child account user, to give the user `read-write` access. This gives the child user unrestricted access to expected management operations, such as creating other child users. However, child users don't have write access to billing operations. The API issues a specific error message if a write operation is attempted by a child user.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + }, + "add_databases": { + "description": "Whether this user can add Managed Databases on the account.", + "example": true, + "type": "boolean" + }, + "add_domains": { + "description": "Whether this user can add domains on the account.", + "example": true, + "type": "boolean" + }, + "add_firewalls": { + "description": "Whether this user can add Firewalls on the account.", + "example": true, + "type": "boolean" + }, + "add_images": { + "description": "Whether this user can create images from disks on your Linodes, on the account.", + "example": true, + "type": "boolean" + }, + "add_linodes": { + "description": "Whether this user can create Linodes.", + "example": true, + "type": "boolean" + }, + "add_longview": { + "description": "Whether this user can create Longview clients and view the current plan.", + "example": true, + "type": "boolean" + }, + "add_nodebalancers": { + "description": "Whether this user can add NodeBalancers on the account.", + "example": true, + "type": "boolean" + }, + "add_stackscripts": { + "description": "Whether this user can add StackScripts on the account.", + "example": true, + "type": "boolean" + }, + "add_volumes": { + "description": "Whether this user can add volumes on the account.", + "example": true, + "type": "boolean" + }, + "add_vpcs": { + "description": "Whether this user can add Virtual Private Clouds (VPCs) on the account.", + "example": true, + "type": "boolean" + }, + "cancel_account": { + "description": "Whether this user can cancel the entire account.", + "example": false, + "type": "boolean" + }, + "child_account_access": { + "description": "In a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this gives a parent account access to operations that can be used to manage child accounts. Unrestricted parent account users have access to this grant, while restricted parent users don't. An unrestricted parent user can set this to `true` to add this grant to a restricted parent user. Displayed as `null` for all non-parent accounts.", + "example": true, + "nullable": true, + "type": "boolean" + }, + "longview_subscription": { + "description": "Whether this user can manage your account's Longview subscription.", + "example": true, + "type": "boolean" + } + }, + "type": "object" + }, + "image": { + "description": "The grants this user has for individual images on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "linode": { + "description": "The grants this user has for individual Linodes on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "longview": { + "description": "The grants this user has for individual Longview Clients on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "nodebalancer": { + "description": "The grants this user has for individual NodeBalancers on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "stackscript": { + "description": "The grants this User has for individual StackScripts on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "volume": { + "description": "The grants this user has individual Block Storage Volumes on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + }, + "vpc": { + "description": "The grants this user has individual Virtual Private Clouds (VPCs) on this account.", + "items": { + "additionalProperties": false, + "description": "Represents the level of access a restricted user has to a specific resource on the account.", + "properties": { + "id": { + "description": "The unique identifier of the resource this grant applies to.", + "example": 123, + "type": "integer" + }, + "label": { + "description": "__Read-only__ The name of the entity this grant applies to. This is only for display purposes.", + "example": "example-entity", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "The level of access this user has to this entity. If `null`, this user has no access.", + "enum": [ + "read_only", + "read_write" + ], + "example": "read_only", + "nullable": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grant.yaml" + } + }, + "type": "array" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/grants-response.yaml" + } + }, + "id": { + "description": "The unique identifier of the Beta Program.", + "example": "example_open", + "type": "string", + "x-linode-cli-display": 1 + }, + "invoice": { + "additionalProperties": false, + "description": "Account Invoice object.", + "properties": { + "billing_source": { + "description": "__Filterable__, __Read-only__ The source of service charges for this invoice. A value of `akamai` indicates an invoice generated according to the terms of an agreement between the customer and Akamai. A value of `linode` indicates an invoice was generated according to the default terms, prices, and discounts.", + "enum": [ + "akamai", + "linode" + ], + "example": "linode", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3.5, + "x-linode-filterable": true + }, + "date": { + "description": "__Filterable__, __Read-only__ When this Invoice was generated.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "id": { + "description": "__Read-only__ The Invoice's unique ID.", + "example": 123, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "label": { + "description": "__Filterable__, __Read-only__ The Invoice's display label.", + "example": "Invoice", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "subtotal": { + "description": "__Read-only__ The amount of the Invoice before taxes in US Dollars.", + "example": 120.25, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "tax": { + "description": "__Read-only__ The amount of tax levied on the Invoice in US Dollars.", + "example": 12.25, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 5 + }, + "tax_summary": { + "description": "__Read-only__ The amount of tax broken down into subtotals by source.", + "items": { + "additionalProperties": false, + "properties": { + "name": { + "description": "The source of this tax subtotal.", + "example": "PA STATE TAX", + "type": "string" + }, + "tax": { + "description": "The amount of tax subtotal attributable to this source.", + "example": 12.25, + "type": "number" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "total": { + "description": "__Filterable__, __Read-only__ The amount of the Invoice after taxes in US Dollars.", + "example": 132.5, + "readOnly": true, + "type": "number", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 6, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/invoice.yaml" + } + }, + "invoice-item": { + "additionalProperties": false, + "description": "An InvoiceItem object.", + "properties": { + "amount": { + "description": "__Read-only__ The price, in US dollars, of the Invoice Item. Equal to the unit price multiplied by quantity.", + "example": 20.2, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 4 + }, + "from": { + "description": "__Read-only__ The date the Invoice Item started, based on month.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 2 + }, + "label": { + "description": "__Read-only__ The Invoice Item's display label.", + "example": "Linode 123", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "quantity": { + "description": "__Read-only__ The quantity of this Item for the specified Invoice.", + "example": 4, + "readOnly": true, + "type": "integer" + }, + "region": { + "description": "__Read-only__ The ID of the applicable Region associated with this Invoice Item.\n\n`null` if there is no applicable Region.", + "example": "us-west", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 7 + }, + "tax": { + "description": "__Read-only__ The amount of tax levied on this Item in US Dollars.", + "example": 1.25, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 5 + }, + "to": { + "description": "__Read-only__ The date the Invoice Item ended, based on month.", + "example": "2018-01-31T11:59:59", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "total": { + "description": "__Read-only__ The price of this Item after taxes in US Dollars.", + "example": 21.45, + "readOnly": true, + "type": "number", + "x-linode-cli-display": 6 + }, + "type": { + "description": "__Read-only__ The type of service, ether `hourly` or `misc`.", + "enum": [ + "hourly", + "misc" + ], + "example": "hourly", + "readOnly": true, + "type": "string" + }, + "unit_price": { + "description": "__Read-only__ The monthly service fee in US Dollars for this Item.", + "example": 5.05, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/invoice-item.yaml" + } + }, + "is_default": { + "description": "Whether this Payment Method is the default method for automatically processing service charges.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "label": { + "description": "__Filterable__, __Read-only__ The name of the Beta Program.", + "example": "Example Open Beta", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "login": { + "additionalProperties": false, + "description": "An object representing a previous successful login for a User.", + "properties": { + "datetime": { + "description": "__Read-only__ When the login was initiated.", + "example": "2018-01-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 2 + }, + "id": { + "description": "__Read-only__ The unique ID of this login object.", + "example": 1234, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "ip": { + "description": "__Read-only__ The remote IP address that requested the login.", + "example": "192.0.2.0", + "format": "ip", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "restricted": { + "description": "__Read-only__ True if the User that attempted the login was a restricted User, false otherwise.", + "example": true, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 6 + }, + "status": { + "description": "__Read-only__ Whether the login attempt succeeded or failed.", + "enum": [ + "successful", + "failed" + ], + "example": "successful", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 5 + }, + "username": { + "description": "__Read-only__ The username of the User that attempted the login.", + "example": "example_user", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 4 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/login.yaml" + } + }, + "maintenance": { + "additionalProperties": false, + "description": "Information about maintenance affecting an entity.", + "properties": { + "complete_time": { + "description": "__Beta__, __Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "description": { + "description": "__Beta__ Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "entity": { + "additionalProperties": false, + "description": "The entity affected by the maintenance.", + "properties": { + "id": { + "description": "The unique identifier of the entity targeted by the maintenance.", + "example": 1234, + "type": "number" + }, + "label": { + "description": "The name of the entity targeted by the maintenance.", + "example": "demo-linode", + "type": "string" + }, + "type": { + "description": "The type of entity.", + "example": "Linode", + "type": "string" + }, + "url": { + "description": "A combination of the API operation prefix and the entity's `id` that can be used to review the entity.", + "example": "https://api.linode.com/v4/linode/instances/{linodeId}", + "type": "string" + } + }, + "type": "object" + }, + "maintenance_policy_set": { + "description": "__Beta__, __Filterable__ The maintenance policy configured by the user.", + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "not_before": { + "description": "__Beta__, __Filterable__ The earliest time when the maintenance can start. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "reason": { + "description": "The reason maintenance is being performed.", + "example": "This maintenance will allow us to update the BIOS on the host's motherboard.", + "type": "string" + }, + "source": { + "description": "__Beta__ The origin of the maintenance. A `platform` source indicates that the maintenance was initiated by Akamai. A `user` source indicates that the maintenance was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "start_time": { + "description": "__Beta__, __Filterable__ The time the maintenance started. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "status": { + "description": "__Filterable__ The maintenance status. Maintenance progress follows the sequence `pending`, `scheduled`, `started`, and `completed`. A `scheduled` status is unique to Linodes that require a reboot for [QEMU maintenance](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance).", + "enum": [ + "pending", + "scheduled", + "started", + "in-progress", + "completed", + "canceled" + ], + "example": "started", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "type": { + "description": "__Filterable__ The type of maintenance.", + "enum": [ + "reboot", + "cold_migration", + "live_migration", + "migrate", + "power_off_on" + ], + "example": "reboot", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "when": { + "description": "__Filterable__ The start time for the maintenance. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (yyyy-mm-ddThh:mm:ss), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/maintenance.yaml" + } + }, + "notification": { + "additionalProperties": false, + "description": "An important, often time-sensitive item related to your account.", + "properties": { + "body": { + "description": "A full description of this notification, in markdown format. Not all notifications include a `body`. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "example": null, + "nullable": true, + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "Detailed information about the notification. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "nullable": true, + "properties": { + "id": { + "description": "The unique ID of the notification's entity, based on the entity type. Returns `null` for an `account` or `promotion` entity.", + "example": 3456, + "nullable": true, + "type": "integer" + }, + "label": { + "description": "The current name of this notification's entity. Returns `null` for the following `entity` types:\n\n- `entity_transfer`\n\n- `promotion`\n\n- `region`", + "example": "Linode not booting.", + "nullable": true, + "type": "string" + }, + "type": { + "description": "__Filterable__ The type of entity this is related to. An entity can be product or service-specific, such as a `linode`, `loadbalancers`, or `nodebalancers`. It can apply to a specific component, such as your `account`, a specific `promotion` your participating in, a data center (`region`) where you're using services, a transfer from one component to another (an `entity_transfer`), a support `ticket` you've opened, or a `volume` on a specific Linode.", + "enum": [ + "account", + "entity_transfer", + "linode", + "loadbalancers", + "nodebalancer", + "promotion", + "region", + "ticket", + "volume" + ], + "example": "ticket", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "url": { + "description": "The URL where you can access the notification's object. The URL is relative to the domain where you retrieved the notification. This value is `null` for the `promotion` entity type.", + "example": "/support/tickets/3456", + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "label": { + "description": "A short description of this notification.", + "example": "You have an important ticket open!", + "type": "string", + "x-linode-cli-display": 1 + }, + "message": { + "description": "A human-readable description of the notification.", + "example": "You have an important ticket open!", + "type": "string", + "x-linode-cli-display": 2 + }, + "severity": { + "description": "The severity of this notification. This field determines how prominently the notification is displayed and the color of the display text.", + "enum": [ + "minor", + "major", + "critical" + ], + "example": "major", + "type": "string", + "x-linode-cli-color": { + "critical": "b", + "default_": "white", + "minor": "blue" + }, + "x-linode-cli-display": 3 + }, + "type": { + "description": "__Filterable__ The type of notification.\n\n> \ud83d\udcd8\n>\n> A `security_reboot_maintenance_scheduled` event is a global notice that a Linode needs to be rebooted for QEMU upgrade maintenance. Have a look at [this workflow](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance) for guidance on reboooting your Linodes for this maintenance.", + "enum": [ + "migration_scheduled", + "migration_imminent", + "migration_pending", + "reboot_scheduled", + "outage", + "payment_due", + "ticket_important", + "ticket_abuse", + "notice", + "maintenance", + "maintenance_scheduled", + "promotion", + "security_reboot_maintenance_scheduled", + "tax_id_verifying" + ], + "example": "ticket_important", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "until": { + "description": "If this notification has a duration, this is when the event or action will complete. For example, if there's scheduled maintenance for one of our systems, `until` represents the end of the maintenance window. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "example": null, + "format": "date-time", + "nullable": true, + "type": "string", + "x-linode-cli-color": { + "None": "black", + "default_": "white" + }, + "x-linode-cli-display": 5 + }, + "when": { + "description": "If this notification is for an event in the future, this specifies when the action occurs. For example, if a compute instance needs to migrate in response to a security advisory, this field sets the approximate time the compute instance will be taken offline for migration. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "example": null, + "format": "date-time", + "nullable": true, + "type": "string", + "x-linode-cli-color": { + "None": "black", + "default_": "white" + }, + "x-linode-cli-display": 4 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/notification.yaml" + } + }, + "oauth-client": { + "additionalProperties": false, + "description": "A third-party application registered to Linode that users may log into with their Linode account through our authentication server at [login.linode.com](https://login.linode.com). Using an OAuth Client, a third-party developer may be given access to some, or all, of a User's account for the purposes of their application.", + "properties": { + "id": { + "description": "__Read-only__ The OAuth Client ID. This is used to identify the client, and is a publicly known value (it is not a secret).", + "example": "2737bf16b39ab5d7b4a1", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "label": { + "description": "__Filterable__ The name of this application. This will be presented to users when they are asked to grant it access to their Account.", + "example": "Test_Client_1", + "maxLength": 512, + "minLength": 1, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "public": { + "default": false, + "description": "__Filterable__ If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the [OAuth spec](https://oauth.net/2/) for more details.", + "example": false, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + }, + "redirect_uri": { + "description": "The location a successful log in from [login.linode.com](https://login.linode.com) should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange.", + "example": "https://example.org/oauth/callback", + "format": "url", + "type": "string", + "x-linode-cli-display": 5 + }, + "secret": { + "description": "__Read-only__ The OAuth Client secret, used in the OAuth exchange. This is returned as `` except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly.", + "example": "", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "__Read-only__ The status of this application. `active` by default.", + "enum": [ + "active", + "disabled", + "suspended" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-color": { + "default_": "white", + "suspended": "red" + }, + "x-linode-cli-display": 3 + }, + "thumbnail_url": { + "description": "__Read-only__ The URL where this client's thumbnail may be viewed, or `null` if this client does not have a thumbnail set.", + "example": "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail", + "format": "url", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/oauth-client.yaml" + } + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pagination-envelope": { + "additionalProperties": false, + "description": "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information.", + "properties": { + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/pagination-envelope.yaml" + } + }, + "payment": { + "additionalProperties": false, + "description": "Payment object response.", + "properties": { + "date": { + "description": "__Filterable__, __Read-only__ When the payment was made.", + "example": "2018-01-15T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "id": { + "description": "__Read-only__ The unique ID of the payment.", + "example": 123, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "usd": { + "description": "__Filterable__, __Read-only__ The amount, in US dollars, of the payment.", + "example": "120.50", + "readOnly": true, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/payment.yaml" + } + }, + "payment-method": { + "additionalProperties": false, + "description": "Payment Method Response Object.", + "properties": { + "created": { + "description": "__Read-only__ When the Payment Method was added to the Account.", + "example": "2018-01-15T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "data": { + "oneOf": [ + { + "additionalProperties": false, + "description": "Credit card information.", + "properties": { + "card_type": { + "description": "__Read-only__ The type of credit card.", + "example": "Discover", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ The expiration month and year of the credit card.", + "example": "06/2022", + "format": "MM/YYYY", + "readOnly": true, + "type": "string" + }, + "last_four": { + "description": "__Read-only__ The last four digits of the credit card number.", + "example": "1234", + "readOnly": true, + "type": "string" + } + }, + "title": "Credit card", + "type": "object", + "x-akamai": { + "file-path": "schemas/credit-card-data.yaml" + }, + "x-linode-ref-name": "Credit Card" + }, + { + "additionalProperties": false, + "description": "Google Pay information.", + "properties": { + "card_type": { + "description": "__Read-only__ The type of credit card.", + "example": "Discover", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ The expiration month and year of the credit card.", + "example": "06/2022", + "format": "MM/YYYY", + "readOnly": true, + "type": "string" + }, + "last_four": { + "description": "__Read-only__ The last four digits of the credit card number.", + "example": "1234", + "readOnly": true, + "type": "string" + } + }, + "title": "Google Pay", + "type": "object", + "x-akamai": { + "file-path": "schemas/google-pay-data.yaml" + }, + "x-linode-ref-name": "Google Pay" + }, + { + "additionalProperties": false, + "description": "PayPal information.", + "properties": { + "email": { + "description": "__Read-only__ The email address associated with your PayPal account.", + "example": "example@linode.com", + "readOnly": true, + "type": "string" + }, + "paypal_id": { + "description": "__Read-only__ PayPal Merchant ID associated with your PayPal account.", + "example": "ABC1234567890", + "readOnly": true, + "type": "string" + } + }, + "title": "Paypal", + "type": "object", + "x-akamai": { + "file-path": "schemas/paypal-data.yaml" + }, + "x-linode-ref-name": "Paypal" + } + ], + "x-linode-cli-display": 4, + "x-linode-cli-format": "json" + }, + "id": { + "description": "The unique ID of this Payment Method.", + "example": 123, + "type": "integer", + "x-linode-cli-display": 1 + }, + "is_default": { + "description": "Whether this Payment Method is the default method for automatically processing service charges.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 3 + }, + "type": { + "description": "The type of Payment Method.", + "enum": [ + "credit_card", + "google_pay", + "paypal" + ], + "example": "credit_card", + "type": "string", + "x-linode-cli-display": 2 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/payment-method.yaml" + } + }, + "paypal": { + "additionalProperties": false, + "description": "An object representing the staging of a Payment via PayPal.", + "properties": { + "cancel_url": { + "description": "The URL to have PayPal redirect to when Payment is canceled.", + "example": "https://example.org", + "type": "string" + }, + "redirect_url": { + "description": "The URL to have PayPal redirect to when Payment is approved.", + "example": "https://example.org", + "type": "string" + }, + "usd": { + "description": "The payment amount in USD. Minimum accepted value of $5 USD. Maximum accepted value of $500 USD or credit card payment limit; whichever value is highest. PayPal's maximum transaction limit is $10,000 USD.", + "example": "120.50", + "type": "string" + } + }, + "required": [ + "cancel_url", + "redirect_url", + "usd" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/paypal.yaml" + } + }, + "paypal-data": { + "additionalProperties": false, + "description": "PayPal information.", + "properties": { + "email": { + "description": "__Read-only__ The email address associated with your PayPal account.", + "example": "example@linode.com", + "readOnly": true, + "type": "string" + }, + "paypal_id": { + "description": "__Read-only__ PayPal Merchant ID associated with your PayPal account.", + "example": "ABC1234567890", + "readOnly": true, + "type": "string" + } + }, + "title": "Paypal", + "type": "object", + "x-akamai": { + "file-path": "schemas/paypal-data.yaml" + } + }, + "paypal-execute": { + "additionalProperties": false, + "description": "An object representing an execution of Payment to PayPal to capture the funds and credit your Linode Account.", + "properties": { + "payer_id": { + "description": "The PayerID returned by PayPal during the transaction authorization process.", + "example": "ABCDEFGHIJKLM", + "type": "string" + }, + "payment_id": { + "description": "The PaymentID returned from [Stage a PayPal payment](https://techdocs.akamai.com/linode-api/reference/post-pay-pal-payment) that has been approved with PayPal.", + "example": "PAY-1234567890ABCDEFGHIJKLMN", + "type": "string" + } + }, + "required": [ + "payer_id", + "payment_id" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/paypal-execute.yaml" + } + }, + "promotion": { + "additionalProperties": false, + "description": "__Read-only__ Promotions generally offer a set amount of credit that can be used toward your Linode services, and the promotion expires after a specified date. As well, a monthly cap on the promotional offer is set.\n\nSimply put, a promotion offers a certain amount of credit month, until either the expiration date is passed, or until the total promotional credit is used, whichever comes first.", + "properties": { + "credit_monthly_cap": { + "description": "The amount available to spend per month.", + "example": "10.00", + "type": "string", + "x-linode-cli-display": 5 + }, + "credit_remaining": { + "description": "The total amount of credit left for this promotion.", + "example": "50.00", + "type": "string", + "x-linode-cli-display": 3 + }, + "description": { + "description": "A detailed description of this promotion.", + "example": "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends.", + "type": "string" + }, + "expire_dt": { + "description": "When this promotion's credits expire.", + "example": "2018-01-31T23:59:59", + "type": "string", + "x-linode-cli-display": 2 + }, + "image_url": { + "description": "The location of an image for this promotion.", + "example": "https://linode.com/10_a_month_promotion.svg", + "type": "string" + }, + "service_type": { + "description": "The service to which this promotion applies.", + "enum": [ + "all", + "backup", + "blockstorage", + "db_mysql", + "ip_v4", + "linode", + "linode_disk", + "linode_memory", + "longview", + "managed", + "nodebalancer", + "objectstorage", + "placement_group", + "transfer_tx" + ], + "example": "all", + "type": "string", + "x-linode-cli-display": 1 + }, + "summary": { + "description": "Short details of this promotion.", + "example": "$10 off your Linode a month!", + "type": "string", + "x-linode-cli-display": 10 + }, + "this_month_credit_remaining": { + "description": "The amount of credit left for this month for this promotion.", + "example": "10.00", + "type": "string", + "x-linode-cli-display": 4 + } + }, + "readOnly": true, + "type": "object", + "x-akamai": { + "file-path": "schemas/promotion.yaml" + } + }, + "properties-entities": { + "additionalProperties": false, + "description": "A collection of the services to include in this transfer request, separated by type.", + "properties": { + "linodes": { + "description": "An array containing the IDs of each of the Linodes included in this transfer.", + "example": [ + 111, + 222 + ], + "items": { + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + } + }, + "type": "object" + }, + "proxy-user-token": { + "additionalProperties": false, + "description": "The token generated manually for a child account so its proxy user can access the API and CLI without going through an OAuth login.", + "properties": { + "created": { + "description": "__Filterable__, __Read-only__ The date and time this token was created.", + "example": "2024-05-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + }, + "expiry": { + "description": "__Read-only__ When this token expires. This is default set to 15 minutes from the time of creation. Proxy user tokens can't be renewed. After this time, Akamai revokes the token and you need to generate a new one.", + "example": "2024-05-01T00:16:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "id": { + "description": "__Read-only__ The proxy user token's unique ID, which can be used to revoke it.", + "example": 918, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "label": { + "description": "__Filterable__ The name of the token. The API automatically sets this to `__