Method: publicAdvertisedPrefixes.insert

Creates a PublicAdvertisedPrefix in the specified project using the parameters that are included in the request.

HTTP request


POST https://compute.googleapis.com/compute/v1/projects/{project}/global/publicAdvertisedPrefixes

The URLs use gRPC Transcoding syntax.

Path parameters

Parameters
project

string

Project ID for this request.

Query parameters

Parameters
requestId

string

An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

Request body

The request body contains data with the following structure:

JSON representation
{
  "kind": string,
  "id": string,
  "creationTimestamp": string,
  "name": string,
  "description": string,
  "selfLink": string,
  "ipCidrRange": string,
  "dnsVerificationIp": string,
  "sharedSecret": string,
  "status": enum,
  "pdpScope": enum,
  "publicDelegatedPrefixs": [
    {
      "name": string,
      "region": string,
      "project": string,
      "status": string,
      "ipRange": string
    }
  ],
  "fingerprint": string,
  "byoipApiVersion": enum,
  "ipv6AccessType": enum
}
Fields
kind

string

Output only. Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes.

id

string (uint64 format)

Output only. The unique identifier for the resource type. The server generates this identifier.

creationTimestamp

string

Output only. Creation timestamp in RFC3339 text format.

name

string

[REQUIRED] Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

description

string

An optional description of this resource. Provide this property when you create the resource.

ipCidrRange

string

The address range, in CIDR format, represented by this public advertised prefix.

dnsVerificationIp

string

The address to be used for reverse DNS verification.

sharedSecret

string

Output only. The shared secret to be used for reverse DNS verification.

status

enum

The status of the public advertised prefix. Possible values include:

  • INITIAL: RPKI validation is complete.
  • PTR_CONFIGURED: User has configured the PTR.
  • VALIDATED: Reverse DNS lookup is successful.
  • REVERSE_DNS_LOOKUP_FAILED: Reverse DNS lookup failed.
  • PREFIX_CONFIGURATION_IN_PROGRESS: The prefix is being configured.
  • PREFIX_CONFIGURATION_COMPLETE: The prefix is fully configured.
  • PREFIX_REMOVAL_IN_PROGRESS: The prefix is being removed.

pdpScope

enum

Specifies how child public delegated prefix will be scoped. It could be one of following values:

  • REGIONAL: The public delegated prefix is regional only. The provisioning will take a few minutes.
  • GLOBAL: The public delegated prefix is global only. The provisioning will take ~4 weeks.
  • GLOBAL_AND_REGIONAL [output only]: The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2.

publicDelegatedPrefixs[]

object

Output only. The list of public delegated prefixes that exist for this public advertised prefix.

publicDelegatedPrefixs[].name

string

The name of the public delegated prefix

publicDelegatedPrefixs[].region

string

The region of the public delegated prefix if it is regional. If absent, the prefix is global.

publicDelegatedPrefixs[].project

string

The project number of the public delegated prefix

publicDelegatedPrefixs[].status

string

The status of the public delegated prefix. Possible values are: INITIALIZING: The public delegated prefix is being initialized and addresses cannot be created yet. ANNOUNCED: The public delegated prefix is active.

publicDelegatedPrefixs[].ipRange

string

The IP address range of the public delegated prefix

fingerprint

string (bytes format)

Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be provided in order to update the PublicAdvertisedPrefix, otherwise the request will fail with error 412 conditionNotMet.

To see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix.

A base64-encoded string.

byoipApiVersion

enum

Output only. The version of BYOIP API.

ipv6AccessType

enum

The internet access type for IPv6 Public Advertised Prefixes.

Response body

Represents an Operation resource.

Google Compute Engine has three Operation resources:

You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.

Operations can be global, regional or zonal.

  • For global operations, use the globalOperations resource.
  • For regional operations, use the regionOperations resource.
  • For zonal operations, use the zoneOperations resource.

For more information, read Global, Regional, and Zonal Resources.

Note that completed Operation resources have a limited retention period.

If successful, the response body contains data with the following structure:

JSON representation
{
  "kind": string,
  "id": string,
  "creationTimestamp": string,
  "name": string,
  "zone": string,
  "clientOperationId": string,
  "operationType": string,
  "targetLink": string,
  "targetId": string,
  "status": enum,
  "statusMessage": string,
  "user": string,
  "progress": integer,
  "insertTime": string,
  "startTime": string,
  "endTime": string,
  "error": {
    "errors": [
      {
        "code": string,
        "location": string,
        "message": string,
        "errorDetails": [
          {
            "errorInfo": {
              "reason": string,
              "domain": string,
              "metadatas": {
                string: string,
                ...
              }
            },
            "quotaInfo": {
              "metricName": string,
              "limitName": string,
              "dimensions": {
                string: string,
                ...
              },
              "limit": number,
              "futureLimit": number,
              "rolloutStatus": enum
            },
            "help": {
              "links": [
                {
                  "description": string,
                  "url": string
                }
              ]
            },
            "localizedMessage": {
              "locale": string,
              "message": string
            }
          }
        ]
      }
    ]
  },
  "warnings": [
    {
      "code": enum,
      "message": string,
      "data": [
        {
          "key": string,
          "value": string
        }
      ]
    }
  ],
  "httpErrorStatusCode": integer,
  "httpErrorMessage": string,
  "selfLink": string,
  "region": string,
  "description": string,
  "operationGroupId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "setCommonInstanceMetadataOperationMetadata": {
    "clientOperationId": string,
    "perLocationOperations": {
      string: {
        "state": enum,
        "error": {
          "code": integer,
          "message": string,
          "details": [
            {
              "@type": string,
              field1: ...,
              ...
            }
          ]
        }
      },
      ...
    }
  },
  "instancesBulkInsertOperationMetadata": {
    "perLocationStatus": {
      string: {
        "status": enum,
        "targetVmCount": integer,
        "createdVmCount": integer,
        "failedToCreateVmCount": integer,
        "deletedVmCount": integer
      },
      ...
    }
  },
  "getVersionOperationMetadata": {
    "inlineSbomInfo": {
      "currentComponentVersions": {
        string: string,
        ...
      },
      "targetComponentVersions": {
        string: string,
        ...
      }
    }
  },
  "getHealthOperationMetadata": {
    "healthInfo": {
      "healthStatus": enum,
      "unhealthyReason": enum,
      "repairCategory": enum,
      "availabilitySloStatus": enum,
      "updateTime": string
    }
  }
  // End of mutually exclusive fields.
}
Fields
kind

string

Output only. Type of the resource. Always compute#operation for Operation resources.

id

string (uint64 format)

Output only. The unique identifier for the operation. This identifier is defined by the server.

creationTimestamp

string

[Deprecated] This field is deprecated.

name

string

Output only. Name of the operation.

zone

string

Output only. The URL of the zone where the operation resides. Only applicable when performing per-zone operations.

clientOperationId

string

Output only. The value of requestId if you provided it in the request. Not present otherwise.

operationType

string

Output only. The type of operation, such as insert, update, or delete, and so on.

targetId

string (uint64 format)

Output only. The unique target ID, which identifies a specific incarnation of the target resource.

status

enum

Output only. The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE.

statusMessage

string

Output only. An optional textual description of the current status of the operation.

user

string

Output only. User who requested the operation, for example: user@example.com or alice_smith_identifier (global/workforcePools/example-com-us-employees).

progress

integer

Output only. An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.

insertTime

string

Output only. The time that this operation was requested. This value is in RFC3339 text format.

startTime

string

Output only. The time that this operation was started by the server. This value is in RFC3339 text format.

endTime

string

Output only. The time that this operation was completed. This value is in RFC3339 text format.

error

object

Output only. If errors are generated during processing of the operation, this field will be populated.

error.errors[]

object

Output only. The array of errors encountered while processing this operation.

error.errors[].code

string

Output only. The error type identifier for this error.

error.errors[].location

string

Output only. Indicates the field in the request that caused the error. This property is optional.

error.errors[].message

string

Output only. An optional, human-readable error message.

error.errors[].errorDetails[]

object

Output only. An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.

error.errors[].errorDetails[].errorInfo

object

Error information containing structured domain, reason, and metadata.

error.errors[].errorDetails[].errorInfo.reason

string

The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 chara