zero_trust

package
v2.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const AuditLogActorTypeAdmin = shared.AuditLogActorTypeAdmin

This is an alias to an internal value.

View Source
const AuditLogActorTypeCloudflare = shared.AuditLogActorTypeCloudflare

This is an alias to an internal value.

View Source
const AuditLogActorTypeUser = shared.AuditLogActorTypeUser

This is an alias to an internal value.

View Source
const CertificateCADigicert = shared.CertificateCADigicert

This is an alias to an internal value.

View Source
const CertificateCAGoogle = shared.CertificateCAGoogle

This is an alias to an internal value.

View Source
const CertificateCALetsEncrypt = shared.CertificateCALetsEncrypt

This is an alias to an internal value.

View Source
const CertificateRequestTypeKeylessCertificate = shared.CertificateRequestTypeKeylessCertificate

This is an alias to an internal value.

View Source
const CertificateRequestTypeOriginECC = shared.CertificateRequestTypeOriginECC

This is an alias to an internal value.

View Source
const CertificateRequestTypeOriginRSA = shared.CertificateRequestTypeOriginRSA

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusDegraded = shared.CloudflareTunnelStatusDegraded

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusDown = shared.CloudflareTunnelStatusDown

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusHealthy = shared.CloudflareTunnelStatusHealthy

This is an alias to an internal value.

View Source
const CloudflareTunnelStatusInactive = shared.CloudflareTunnelStatusInactive

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeCNI = shared.CloudflareTunnelTunTypeCNI

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeCfdTunnel = shared.CloudflareTunnelTunTypeCfdTunnel

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeGRE = shared.CloudflareTunnelTunTypeGRE

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeIPSec = shared.CloudflareTunnelTunTypeIPSec

This is an alias to an internal value.

View Source
const CloudflareTunnelTunTypeWARPConnector = shared.CloudflareTunnelTunTypeWARPConnector

This is an alias to an internal value.

View Source
const MemberStatusAccepted = shared.MemberStatusAccepted

This is an alias to an internal value.

View Source
const MemberStatusPending = shared.MemberStatusPending

This is an alias to an internal value.

View Source
const SortDirectionAsc = shared.SortDirectionAsc

This is an alias to an internal value.

View Source
const SortDirectionDesc = shared.SortDirectionDesc

This is an alias to an internal value.

Variables

This section is empty.

Functions

This section is empty.

Types

type ASN

type ASN = shared.ASN

This is an alias to an internal type.

type ASNParam

type ASNParam = shared.ASNParam

This is an alias to an internal type.

type AccessApplicationCADeleteResponse

type AccessApplicationCADeleteResponse struct {
	// The ID of the CA.
	ID   string                                `json:"id"`
	JSON accessApplicationCADeleteResponseJSON `json:"-"`
}

func (*AccessApplicationCADeleteResponse) UnmarshalJSON

func (r *AccessApplicationCADeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessApplicationCADeleteResponseEnvelope

type AccessApplicationCADeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationCADeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationCADeleteResponse                `json:"result"`
	JSON    accessApplicationCADeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationCADeleteResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationCADeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationCADeleteResponseEnvelopeSuccess

type AccessApplicationCADeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationCADeleteResponseEnvelopeSuccessTrue AccessApplicationCADeleteResponseEnvelopeSuccess = true
)

func (AccessApplicationCADeleteResponseEnvelopeSuccess) IsKnown

type AccessApplicationCAGetResponseEnvelope

type AccessApplicationCAGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationCAGetResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationCAGetResponseUnion           `json:"result"`
	JSON    accessApplicationCAGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationCAGetResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationCAGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationCAGetResponseEnvelopeSuccess

type AccessApplicationCAGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationCAGetResponseEnvelopeSuccessTrue AccessApplicationCAGetResponseEnvelopeSuccess = true
)

func (AccessApplicationCAGetResponseEnvelopeSuccess) IsKnown

type AccessApplicationCAGetResponseUnion

type AccessApplicationCAGetResponseUnion interface {
	ImplementsZeroTrustAccessApplicationCAGetResponseUnion()
}

Union satisfied by zero_trust.AccessApplicationCAGetResponseUnknown or shared.UnionString.

type AccessApplicationCANewResponseEnvelope

type AccessApplicationCANewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationCANewResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationCANewResponseUnion           `json:"result"`
	JSON    accessApplicationCANewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationCANewResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationCANewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationCANewResponseEnvelopeSuccess

type AccessApplicationCANewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationCANewResponseEnvelopeSuccessTrue AccessApplicationCANewResponseEnvelopeSuccess = true
)

func (AccessApplicationCANewResponseEnvelopeSuccess) IsKnown

type AccessApplicationCANewResponseUnion

type AccessApplicationCANewResponseUnion interface {
	ImplementsZeroTrustAccessApplicationCANewResponseUnion()
}

Union satisfied by zero_trust.AccessApplicationCANewResponseUnknown or shared.UnionString.

type AccessApplicationCAService

type AccessApplicationCAService struct {
	Options []option.RequestOption
}

AccessApplicationCAService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessApplicationCAService method instead.

func NewAccessApplicationCAService

func NewAccessApplicationCAService(opts ...option.RequestOption) (r *AccessApplicationCAService)

NewAccessApplicationCAService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessApplicationCAService) Delete

func (r *AccessApplicationCAService) Delete(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, opts ...option.RequestOption) (res *AccessApplicationCADeleteResponse, err error)

Deletes a short-lived certificate CA.

func (*AccessApplicationCAService) Get

func (r *AccessApplicationCAService) Get(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, opts ...option.RequestOption) (res *AccessApplicationCAGetResponseUnion, err error)

Fetches a short-lived certificate CA and its public key.

func (*AccessApplicationCAService) List

func (r *AccessApplicationCAService) List(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) (res *pagination.SinglePage[CA], err error)

Lists short-lived certificate CAs and their public keys.

func (*AccessApplicationCAService) ListAutoPaging

func (r *AccessApplicationCAService) ListAutoPaging(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[CA]

Lists short-lived certificate CAs and their public keys.

func (*AccessApplicationCAService) New

func (r *AccessApplicationCAService) New(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, opts ...option.RequestOption) (res *AccessApplicationCANewResponseUnion, err error)

Generates a new short-lived certificate CA and public key.

type AccessApplicationDeleteResponse

type AccessApplicationDeleteResponse struct {
	// UUID
	ID   string                              `json:"id"`
	JSON accessApplicationDeleteResponseJSON `json:"-"`
}

func (*AccessApplicationDeleteResponse) UnmarshalJSON

func (r *AccessApplicationDeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessApplicationDeleteResponseEnvelope

type AccessApplicationDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationDeleteResponse                `json:"result"`
	JSON    accessApplicationDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationDeleteResponseEnvelopeSuccess

type AccessApplicationDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationDeleteResponseEnvelopeSuccessTrue AccessApplicationDeleteResponseEnvelopeSuccess = true
)

func (AccessApplicationDeleteResponseEnvelopeSuccess) IsKnown

type AccessApplicationGetResponse

type AccessApplicationGetResponse struct {
	// Audience tag.
	AUD       string    `json:"aud"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// UUID
	ID string `json:"id"`
	// This field can have the runtime type of
	// [AccessApplicationGetResponseSelfHostedApplicationSCIMConfig],
	// [AccessApplicationGetResponseSaaSApplicationSCIMConfig],
	// [AccessApplicationGetResponseBrowserSSHApplicationSCIMConfig],
	// [AccessApplicationGetResponseBrowserVNCApplicationSCIMConfig],
	// [AccessApplicationGetResponseAppLauncherApplicationSCIMConfig],
	// [AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfig],
	// [AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfig],
	// [AccessApplicationGetResponseBookmarkApplicationSCIMConfig].
	SCIMConfig interface{} `json:"scim_config,required"`
	UpdatedAt  time.Time   `json:"updated_at" format:"date-time"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// This field can have the runtime type of [[]AllowedIdPs].
	AllowedIdPs interface{} `json:"allowed_idps,required"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// This field can have the runtime type of [[]string].
	CustomPages interface{} `json:"custom_pages,required"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool `json:"path_cookie_attribute"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// This field can have the runtime type of [[]SelfHostedDomains].
	SelfHostedDomains interface{} `json:"self_hosted_domains,required"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// This field can have the runtime type of [[]string].
	Tags interface{} `json:"tags,required"`
	// The application type.
	Type string `json:"type"`
	// This field can have the runtime type of [[]ApplicationPolicy].
	Policies interface{} `json:"policies,required"`
	// This field can have the runtime type of
	// [AccessApplicationGetResponseSaaSApplicationSaaSApp].
	SaaSApp interface{} `json:"saas_app,required"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// The background color of the App Launcher page.
	BgColor string `json:"bg_color"`
	// This field can have the runtime type of
	// [[]AccessApplicationGetResponseAppLauncherApplicationFooterLink],
	// [[]AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationFooterLink],
	// [[]AccessApplicationGetResponseBrowserIsolationPermissionsApplicationFooterLink].
	FooterLinks interface{} `json:"footer_links,required"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// This field can have the runtime type of
	// [AccessApplicationGetResponseAppLauncherApplicationLandingPageDesign],
	// [AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign],
	// [AccessApplicationGetResponseBrowserIsolationPermissionsApplicationLandingPageDesign].
	LandingPageDesign interface{} `json:"landing_page_design,required"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                             `json:"skip_app_launcher_login_page"`
	JSON                     accessApplicationGetResponseJSON `json:"-"`
	// contains filtered or unexported fields
}

func (*AccessApplicationGetResponse) UnmarshalJSON

func (r *AccessApplicationGetResponse) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseAppLauncherApplication

type AccessApplicationGetResponseAppLauncherApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationGetResponseAppLauncherApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationGetResponseAppLauncherApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationGetResponseAppLauncherApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                   `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                              `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationGetResponseAppLauncherApplicationJSON `json:"-"`
}

func (*AccessApplicationGetResponseAppLauncherApplication) UnmarshalJSON

func (r *AccessApplicationGetResponseAppLauncherApplication) UnmarshalJSON(data []byte) (err error)
type AccessApplicationGetResponseAppLauncherApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                           `json:"url,required"`
	JSON accessApplicationGetResponseAppLauncherApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationGetResponseAppLauncherApplicationFooterLink) UnmarshalJSON

type AccessApplicationGetResponseAppLauncherApplicationLandingPageDesign

type AccessApplicationGetResponseAppLauncherApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                  `json:"title"`
	JSON  accessApplicationGetResponseAppLauncherApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationGetResponseAppLauncherApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationGetResponseAppLauncherApplicationSCIMConfig

type AccessApplicationGetResponseAppLauncherApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                              `json:"mappings"`
	JSON     accessApplicationGetResponseAppLauncherApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationGetResponseAppLauncherApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthentication

type AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                         `json:"token_url"`
	JSON     accessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationScheme

type AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationUnion

type AccessApplicationGetResponseAppLauncherApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationGetResponseBookmarkApplication

type AccessApplicationGetResponseBookmarkApplication struct {
	// UUID
	ID string `json:"id"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD       string    `json:"aud"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The URL or domain of the bookmark.
	Domain string `json:"domain"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationGetResponseBookmarkApplicationSCIMConfig `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags []string `json:"tags"`
	// The application type.
	Type      string                                              `json:"type"`
	UpdatedAt time.Time                                           `json:"updated_at" format:"date-time"`
	JSON      accessApplicationGetResponseBookmarkApplicationJSON `json:"-"`
}

func (*AccessApplicationGetResponseBookmarkApplication) UnmarshalJSON

func (r *AccessApplicationGetResponseBookmarkApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseBookmarkApplicationSCIMConfig

type AccessApplicationGetResponseBookmarkApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                           `json:"mappings"`
	JSON     accessApplicationGetResponseBookmarkApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationGetResponseBookmarkApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthentication

type AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                      `json:"token_url"`
	JSON     accessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationScheme

type AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationUnion

type AccessApplicationGetResponseBookmarkApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationGetResponseBrowserIsolationPermissionsApplication

type AccessApplicationGetResponseBrowserIsolationPermissionsApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationGetResponseBrowserIsolationPermissionsApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationGetResponseBrowserIsolationPermissionsApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                                   `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                              `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationGetResponseBrowserIsolationPermissionsApplicationJSON `json:"-"`
}

func (*AccessApplicationGetResponseBrowserIsolationPermissionsApplication) UnmarshalJSON

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                                           `json:"url,required"`
	JSON accessApplicationGetResponseBrowserIsolationPermissionsApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationGetResponseBrowserIsolationPermissionsApplicationFooterLink) UnmarshalJSON

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationLandingPageDesign

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                                  `json:"title"`
	JSON  accessApplicationGetResponseBrowserIsolationPermissionsApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationGetResponseBrowserIsolationPermissionsApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfig

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                              `json:"mappings"`
	JSON     accessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                                         `json:"token_url"`
	JSON     accessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationGetResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationGetResponseBrowserSSHApplication

type AccessApplicationGetResponseBrowserSSHApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationGetResponseBrowserSSHApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                              `json:"tags"`
	UpdatedAt time.Time                                             `json:"updated_at" format:"date-time"`
	JSON      accessApplicationGetResponseBrowserSSHApplicationJSON `json:"-"`
}

func (*AccessApplicationGetResponseBrowserSSHApplication) UnmarshalJSON

func (r *AccessApplicationGetResponseBrowserSSHApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseBrowserSSHApplicationSCIMConfig

type AccessApplicationGetResponseBrowserSSHApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                             `json:"mappings"`
	JSON     accessApplicationGetResponseBrowserSSHApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationGetResponseBrowserSSHApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthentication

type AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                        `json:"token_url"`
	JSON     accessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme

type AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationUnion

type AccessApplicationGetResponseBrowserSSHApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationGetResponseBrowserVNCApplication

type AccessApplicationGetResponseBrowserVNCApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationGetResponseBrowserVNCApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                              `json:"tags"`
	UpdatedAt time.Time                                             `json:"updated_at" format:"date-time"`
	JSON      accessApplicationGetResponseBrowserVNCApplicationJSON `json:"-"`
}

func (*AccessApplicationGetResponseBrowserVNCApplication) UnmarshalJSON

func (r *AccessApplicationGetResponseBrowserVNCApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseBrowserVNCApplicationSCIMConfig

type AccessApplicationGetResponseBrowserVNCApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                             `json:"mappings"`
	JSON     accessApplicationGetResponseBrowserVNCApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationGetResponseBrowserVNCApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthentication

type AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                        `json:"token_url"`
	JSON     accessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme

type AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationUnion

type AccessApplicationGetResponseBrowserVNCApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplication

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                                   `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                              `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationGetResponseDeviceEnrollmentPermissionsApplicationJSON `json:"-"`
}

func (*AccessApplicationGetResponseDeviceEnrollmentPermissionsApplication) UnmarshalJSON

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                                           `json:"url,required"`
	JSON accessApplicationGetResponseDeviceEnrollmentPermissionsApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationFooterLink) UnmarshalJSON

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                                  `json:"title"`
	JSON  accessApplicationGetResponseDeviceEnrollmentPermissionsApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfig

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                              `json:"mappings"`
	JSON     accessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                                         `json:"token_url"`
	JSON     accessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationGetResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationGetResponseEnvelope

type AccessApplicationGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationGetResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationGetResponse                `json:"result"`
	JSON    accessApplicationGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationGetResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseEnvelopeSuccess

type AccessApplicationGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationGetResponseEnvelopeSuccessTrue AccessApplicationGetResponseEnvelopeSuccess = true
)

func (AccessApplicationGetResponseEnvelopeSuccess) IsKnown

type AccessApplicationGetResponseSaaSApplication

type AccessApplicationGetResponseSaaSApplication struct {
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool      `json:"auto_redirect_to_identity"`
	CreatedAt              time.Time `json:"created_at" format:"date-time"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name     string                                             `json:"name"`
	Policies []ApplicationPolicy                                `json:"policies"`
	SaaSApp  AccessApplicationGetResponseSaaSApplicationSaaSApp `json:"saas_app"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationGetResponseSaaSApplicationSCIMConfig `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags []string `json:"tags"`
	// The application type.
	Type      string                                          `json:"type"`
	UpdatedAt time.Time                                       `json:"updated_at" format:"date-time"`
	JSON      accessApplicationGetResponseSaaSApplicationJSON `json:"-"`
}

func (*AccessApplicationGetResponseSaaSApplication) UnmarshalJSON

func (r *AccessApplicationGetResponseSaaSApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseSaaSApplicationSCIMConfig

type AccessApplicationGetResponseSaaSApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                       `json:"mappings"`
	JSON     accessApplicationGetResponseSaaSApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationGetResponseSaaSApplicationSCIMConfig) UnmarshalJSON

func (r *AccessApplicationGetResponseSaaSApplicationSCIMConfig) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthentication

type AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                  `json:"token_url"`
	JSON     accessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationScheme

type AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationUnion

type AccessApplicationGetResponseSaaSApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationGetResponseSaaSApplicationSaaSApp

type AccessApplicationGetResponseSaaSApplicationSaaSApp struct {
	// Optional identifier indicating the authentication protocol used for the saas
	// app. Required for OIDC. Default if unset is "saml"
	AuthType AccessApplicationGetResponseSaaSApplicationSaaSAppAuthType `json:"auth_type"`
	// The service provider's endpoint that is responsible for receiving and parsing a
	// SAML assertion.
	ConsumerServiceURL string    `json:"consumer_service_url"`
	CreatedAt          time.Time `json:"created_at" format:"date-time"`
	// This field can have the runtime type of [SAMLSaaSAppCustomAttributes].
	CustomAttributes interface{} `json:"custom_attributes,required"`
	// The URL that the user will be redirected to after a successful login for IDP
	// initiated logins.
	DefaultRelayState string `json:"default_relay_state"`
	// The unique identifier for your SaaS application.
	IdPEntityID string `json:"idp_entity_id"`
	// The format of the name identifier sent to the SaaS application.
	NameIDFormat SaaSAppNameIDFormat `json:"name_id_format"`
	// A [JSONata](https://jsonata.org/) expression that transforms an application's
	// user identities into a NameID value for its SAML assertion. This expression
	// should evaluate to a singular string. The output of this expression can override
	// the `name_id_format` setting.
	NameIDTransformJsonata string `json:"name_id_transform_jsonata"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey string `json:"public_key"`
	// A [JSONata] (https://jsonata.org/) expression that transforms an application's
	// user identities into attribute assertions in the SAML response. The expression
	// can transform id, email, name, and groups values. It can also transform fields
	// listed in the saml_attributes or oidc_fields of the identity provider used to
	// authenticate. The output of this expression must be a JSON object.
	SAMLAttributeTransformJsonata string `json:"saml_attribute_transform_jsonata"`
	// A globally unique name for an identity or service provider.
	SPEntityID string `json:"sp_entity_id"`
	// The endpoint where your SaaS application will send login requests.
	SSOEndpoint string    `json:"sso_endpoint"`
	UpdatedAt   time.Time `json:"updated_at" format:"date-time"`
	// The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must
	// be greater than or equal to 1m and less than or equal to 24h.
	AccessTokenLifetime string `json:"access_token_lifetime"`
	// If client secret should be required on the token endpoint when
	// authorization_code_with_pkce grant is used.
	AllowPKCEWithoutClientSecret bool `json:"allow_pkce_without_client_secret"`
	// The URL where this applications tile redirects users
	AppLauncherURL string `json:"app_launcher_url"`
	// The application client id
	ClientID string `json:"client_id"`
	// The application client secret, only returned on POST request.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [OIDCSaaSAppCustomClaims].
	CustomClaims interface{} `json:"custom_claims,required"`
	// This field can have the runtime type of [[]OIDCSaaSAppGrantType].
	GrantTypes interface{} `json:"grant_types,required"`
	// A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
	GroupFilterRegex string `json:"group_filter_regex"`
	// This field can have the runtime type of [OIDCSaaSAppHybridAndImplicitOptions].
	HybridAndImplicitOptions interface{} `json:"hybrid_and_implicit_options,required"`
	// This field can have the runtime type of [[]string].
	RedirectURIs interface{} `json:"redirect_uris,required"`
	// This field can have the runtime type of [OIDCSaaSAppRefreshTokenOptions].
	RefreshTokenOptions interface{} `json:"refresh_token_options,required"`
	// This field can have the runtime type of [[]OIDCSaaSAppScope].
	Scopes interface{}                                            `json:"scopes,required"`
	JSON   accessApplicationGetResponseSaaSApplicationSaaSAppJSON `json:"-"`
	// contains filtered or unexported fields
}

func (AccessApplicationGetResponseSaaSApplicationSaaSApp) AsUnion

AsUnion returns a AccessApplicationGetResponseSaaSApplicationSaaSAppUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are zero_trust.SAMLSaaSApp, zero_trust.OIDCSaaSApp.

func (*AccessApplicationGetResponseSaaSApplicationSaaSApp) UnmarshalJSON

func (r *AccessApplicationGetResponseSaaSApplicationSaaSApp) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseSaaSApplicationSaaSAppAuthType

type AccessApplicationGetResponseSaaSApplicationSaaSAppAuthType string

Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"

const (
	AccessApplicationGetResponseSaaSApplicationSaaSAppAuthTypeSAML AccessApplicationGetResponseSaaSApplicationSaaSAppAuthType = "saml"
	AccessApplicationGetResponseSaaSApplicationSaaSAppAuthTypeOIDC AccessApplicationGetResponseSaaSApplicationSaaSAppAuthType = "oidc"
)

func (AccessApplicationGetResponseSaaSApplicationSaaSAppAuthType) IsKnown

type AccessApplicationGetResponseSaaSApplicationSaaSAppUnion

type AccessApplicationGetResponseSaaSApplicationSaaSAppUnion interface {
	// contains filtered or unexported methods
}

Union satisfied by zero_trust.SAMLSaaSApp or zero_trust.OIDCSaaSApp.

type AccessApplicationGetResponseSelfHostedApplication

type AccessApplicationGetResponseSelfHostedApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationGetResponseSelfHostedApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                              `json:"tags"`
	UpdatedAt time.Time                                             `json:"updated_at" format:"date-time"`
	JSON      accessApplicationGetResponseSelfHostedApplicationJSON `json:"-"`
}

func (*AccessApplicationGetResponseSelfHostedApplication) UnmarshalJSON

func (r *AccessApplicationGetResponseSelfHostedApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationGetResponseSelfHostedApplicationSCIMConfig

type AccessApplicationGetResponseSelfHostedApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                             `json:"mappings"`
	JSON     accessApplicationGetResponseSelfHostedApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationGetResponseSelfHostedApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthentication

type AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                        `json:"token_url"`
	JSON     accessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationScheme

type AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationUnion

type AccessApplicationGetResponseSelfHostedApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationListResponse

type AccessApplicationListResponse struct {
	// Audience tag.
	AUD       string    `json:"aud"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// UUID
	ID string `json:"id"`
	// This field can have the runtime type of
	// [AccessApplicationListResponseSelfHostedApplicationSCIMConfig],
	// [AccessApplicationListResponseSaaSApplicationSCIMConfig],
	// [AccessApplicationListResponseBrowserSSHApplicationSCIMConfig],
	// [AccessApplicationListResponseBrowserVNCApplicationSCIMConfig],
	// [AccessApplicationListResponseAppLauncherApplicationSCIMConfig],
	// [AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfig],
	// [AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfig],
	// [AccessApplicationListResponseBookmarkApplicationSCIMConfig].
	SCIMConfig interface{} `json:"scim_config,required"`
	UpdatedAt  time.Time   `json:"updated_at" format:"date-time"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// This field can have the runtime type of [[]AllowedIdPs].
	AllowedIdPs interface{} `json:"allowed_idps,required"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// This field can have the runtime type of [[]string].
	CustomPages interface{} `json:"custom_pages,required"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool `json:"path_cookie_attribute"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// This field can have the runtime type of [[]SelfHostedDomains].
	SelfHostedDomains interface{} `json:"self_hosted_domains,required"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// This field can have the runtime type of [[]string].
	Tags interface{} `json:"tags,required"`
	// The application type.
	Type string `json:"type"`
	// This field can have the runtime type of [[]ApplicationPolicy].
	Policies interface{} `json:"policies,required"`
	// This field can have the runtime type of
	// [AccessApplicationListResponseSaaSApplicationSaaSApp].
	SaaSApp interface{} `json:"saas_app,required"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// The background color of the App Launcher page.
	BgColor string `json:"bg_color"`
	// This field can have the runtime type of
	// [[]AccessApplicationListResponseAppLauncherApplicationFooterLink],
	// [[]AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationFooterLink],
	// [[]AccessApplicationListResponseBrowserIsolationPermissionsApplicationFooterLink].
	FooterLinks interface{} `json:"footer_links,required"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// This field can have the runtime type of
	// [AccessApplicationListResponseAppLauncherApplicationLandingPageDesign],
	// [AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign],
	// [AccessApplicationListResponseBrowserIsolationPermissionsApplicationLandingPageDesign].
	LandingPageDesign interface{} `json:"landing_page_design,required"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                              `json:"skip_app_launcher_login_page"`
	JSON                     accessApplicationListResponseJSON `json:"-"`
	// contains filtered or unexported fields
}

func (*AccessApplicationListResponse) UnmarshalJSON

func (r *AccessApplicationListResponse) UnmarshalJSON(data []byte) (err error)

type AccessApplicationListResponseAppLauncherApplication

type AccessApplicationListResponseAppLauncherApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationListResponseAppLauncherApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationListResponseAppLauncherApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationListResponseAppLauncherApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                    `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                               `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationListResponseAppLauncherApplicationJSON `json:"-"`
}

func (*AccessApplicationListResponseAppLauncherApplication) UnmarshalJSON

func (r *AccessApplicationListResponseAppLauncherApplication) UnmarshalJSON(data []byte) (err error)
type AccessApplicationListResponseAppLauncherApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                            `json:"url,required"`
	JSON accessApplicationListResponseAppLauncherApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationListResponseAppLauncherApplicationFooterLink) UnmarshalJSON

type AccessApplicationListResponseAppLauncherApplicationLandingPageDesign

type AccessApplicationListResponseAppLauncherApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                   `json:"title"`
	JSON  accessApplicationListResponseAppLauncherApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationListResponseAppLauncherApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationListResponseAppLauncherApplicationSCIMConfig

type AccessApplicationListResponseAppLauncherApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                               `json:"mappings"`
	JSON     accessApplicationListResponseAppLauncherApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationListResponseAppLauncherApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthentication

type AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                          `json:"token_url"`
	JSON     accessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationScheme

type AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationUnion

type AccessApplicationListResponseAppLauncherApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationListResponseBookmarkApplication

type AccessApplicationListResponseBookmarkApplication struct {
	// UUID
	ID string `json:"id"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD       string    `json:"aud"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The URL or domain of the bookmark.
	Domain string `json:"domain"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationListResponseBookmarkApplicationSCIMConfig `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags []string `json:"tags"`
	// The application type.
	Type      string                                               `json:"type"`
	UpdatedAt time.Time                                            `json:"updated_at" format:"date-time"`
	JSON      accessApplicationListResponseBookmarkApplicationJSON `json:"-"`
}

func (*AccessApplicationListResponseBookmarkApplication) UnmarshalJSON

func (r *AccessApplicationListResponseBookmarkApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationListResponseBookmarkApplicationSCIMConfig

type AccessApplicationListResponseBookmarkApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                            `json:"mappings"`
	JSON     accessApplicationListResponseBookmarkApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationListResponseBookmarkApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthentication

type AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                       `json:"token_url"`
	JSON     accessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationScheme

type AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationUnion

type AccessApplicationListResponseBookmarkApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationListResponseBrowserIsolationPermissionsApplication

type AccessApplicationListResponseBrowserIsolationPermissionsApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationListResponseBrowserIsolationPermissionsApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationListResponseBrowserIsolationPermissionsApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                                    `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                               `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationListResponseBrowserIsolationPermissionsApplicationJSON `json:"-"`
}

func (*AccessApplicationListResponseBrowserIsolationPermissionsApplication) UnmarshalJSON

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                                            `json:"url,required"`
	JSON accessApplicationListResponseBrowserIsolationPermissionsApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationListResponseBrowserIsolationPermissionsApplicationFooterLink) UnmarshalJSON

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationLandingPageDesign

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                                   `json:"title"`
	JSON  accessApplicationListResponseBrowserIsolationPermissionsApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationListResponseBrowserIsolationPermissionsApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfig

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                               `json:"mappings"`
	JSON     accessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                                          `json:"token_url"`
	JSON     accessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationListResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationListResponseBrowserSSHApplication

type AccessApplicationListResponseBrowserSSHApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationListResponseBrowserSSHApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                               `json:"tags"`
	UpdatedAt time.Time                                              `json:"updated_at" format:"date-time"`
	JSON      accessApplicationListResponseBrowserSSHApplicationJSON `json:"-"`
}

func (*AccessApplicationListResponseBrowserSSHApplication) UnmarshalJSON

func (r *AccessApplicationListResponseBrowserSSHApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationListResponseBrowserSSHApplicationSCIMConfig

type AccessApplicationListResponseBrowserSSHApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                              `json:"mappings"`
	JSON     accessApplicationListResponseBrowserSSHApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationListResponseBrowserSSHApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthentication

type AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                         `json:"token_url"`
	JSON     accessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme

type AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationUnion

type AccessApplicationListResponseBrowserSSHApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationListResponseBrowserVNCApplication

type AccessApplicationListResponseBrowserVNCApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationListResponseBrowserVNCApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                               `json:"tags"`
	UpdatedAt time.Time                                              `json:"updated_at" format:"date-time"`
	JSON      accessApplicationListResponseBrowserVNCApplicationJSON `json:"-"`
}

func (*AccessApplicationListResponseBrowserVNCApplication) UnmarshalJSON

func (r *AccessApplicationListResponseBrowserVNCApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationListResponseBrowserVNCApplicationSCIMConfig

type AccessApplicationListResponseBrowserVNCApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                              `json:"mappings"`
	JSON     accessApplicationListResponseBrowserVNCApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationListResponseBrowserVNCApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthentication

type AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                         `json:"token_url"`
	JSON     accessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme

type AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationUnion

type AccessApplicationListResponseBrowserVNCApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplication

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                                    `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                               `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationListResponseDeviceEnrollmentPermissionsApplicationJSON `json:"-"`
}

func (*AccessApplicationListResponseDeviceEnrollmentPermissionsApplication) UnmarshalJSON

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                                            `json:"url,required"`
	JSON accessApplicationListResponseDeviceEnrollmentPermissionsApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationFooterLink) UnmarshalJSON

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                                   `json:"title"`
	JSON  accessApplicationListResponseDeviceEnrollmentPermissionsApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfig

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                               `json:"mappings"`
	JSON     accessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                                          `json:"token_url"`
	JSON     accessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationListResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationListResponseSaaSApplication

type AccessApplicationListResponseSaaSApplication struct {
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool      `json:"auto_redirect_to_identity"`
	CreatedAt              time.Time `json:"created_at" format:"date-time"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name     string                                              `json:"name"`
	Policies []ApplicationPolicy                                 `json:"policies"`
	SaaSApp  AccessApplicationListResponseSaaSApplicationSaaSApp `json:"saas_app"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationListResponseSaaSApplicationSCIMConfig `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags []string `json:"tags"`
	// The application type.
	Type      string                                           `json:"type"`
	UpdatedAt time.Time                                        `json:"updated_at" format:"date-time"`
	JSON      accessApplicationListResponseSaaSApplicationJSON `json:"-"`
}

func (*AccessApplicationListResponseSaaSApplication) UnmarshalJSON

func (r *AccessApplicationListResponseSaaSApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationListResponseSaaSApplicationSCIMConfig

type AccessApplicationListResponseSaaSApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationListResponseSaaSApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                        `json:"mappings"`
	JSON     accessApplicationListResponseSaaSApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationListResponseSaaSApplicationSCIMConfig) UnmarshalJSON

func (r *AccessApplicationListResponseSaaSApplicationSCIMConfig) UnmarshalJSON(data []byte) (err error)

type AccessApplicationListResponseSaaSApplicationSCIMConfigAuthentication

type AccessApplicationListResponseSaaSApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                   `json:"token_url"`
	JSON     accessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationListResponseSaaSApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationScheme

type AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationUnion

type AccessApplicationListResponseSaaSApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationListResponseSaaSApplicationSaaSApp

type AccessApplicationListResponseSaaSApplicationSaaSApp struct {
	// Optional identifier indicating the authentication protocol used for the saas
	// app. Required for OIDC. Default if unset is "saml"
	AuthType AccessApplicationListResponseSaaSApplicationSaaSAppAuthType `json:"auth_type"`
	// The service provider's endpoint that is responsible for receiving and parsing a
	// SAML assertion.
	ConsumerServiceURL string    `json:"consumer_service_url"`
	CreatedAt          time.Time `json:"created_at" format:"date-time"`
	// This field can have the runtime type of [SAMLSaaSAppCustomAttributes].
	CustomAttributes interface{} `json:"custom_attributes,required"`
	// The URL that the user will be redirected to after a successful login for IDP
	// initiated logins.
	DefaultRelayState string `json:"default_relay_state"`
	// The unique identifier for your SaaS application.
	IdPEntityID string `json:"idp_entity_id"`
	// The format of the name identifier sent to the SaaS application.
	NameIDFormat SaaSAppNameIDFormat `json:"name_id_format"`
	// A [JSONata](https://jsonata.org/) expression that transforms an application's
	// user identities into a NameID value for its SAML assertion. This expression
	// should evaluate to a singular string. The output of this expression can override
	// the `name_id_format` setting.
	NameIDTransformJsonata string `json:"name_id_transform_jsonata"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey string `json:"public_key"`
	// A [JSONata] (https://jsonata.org/) expression that transforms an application's
	// user identities into attribute assertions in the SAML response. The expression
	// can transform id, email, name, and groups values. It can also transform fields
	// listed in the saml_attributes or oidc_fields of the identity provider used to
	// authenticate. The output of this expression must be a JSON object.
	SAMLAttributeTransformJsonata string `json:"saml_attribute_transform_jsonata"`
	// A globally unique name for an identity or service provider.
	SPEntityID string `json:"sp_entity_id"`
	// The endpoint where your SaaS application will send login requests.
	SSOEndpoint string    `json:"sso_endpoint"`
	UpdatedAt   time.Time `json:"updated_at" format:"date-time"`
	// The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must
	// be greater than or equal to 1m and less than or equal to 24h.
	AccessTokenLifetime string `json:"access_token_lifetime"`
	// If client secret should be required on the token endpoint when
	// authorization_code_with_pkce grant is used.
	AllowPKCEWithoutClientSecret bool `json:"allow_pkce_without_client_secret"`
	// The URL where this applications tile redirects users
	AppLauncherURL string `json:"app_launcher_url"`
	// The application client id
	ClientID string `json:"client_id"`
	// The application client secret, only returned on POST request.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [OIDCSaaSAppCustomClaims].
	CustomClaims interface{} `json:"custom_claims,required"`
	// This field can have the runtime type of [[]OIDCSaaSAppGrantType].
	GrantTypes interface{} `json:"grant_types,required"`
	// A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
	GroupFilterRegex string `json:"group_filter_regex"`
	// This field can have the runtime type of [OIDCSaaSAppHybridAndImplicitOptions].
	HybridAndImplicitOptions interface{} `json:"hybrid_and_implicit_options,required"`
	// This field can have the runtime type of [[]string].
	RedirectURIs interface{} `json:"redirect_uris,required"`
	// This field can have the runtime type of [OIDCSaaSAppRefreshTokenOptions].
	RefreshTokenOptions interface{} `json:"refresh_token_options,required"`
	// This field can have the runtime type of [[]OIDCSaaSAppScope].
	Scopes interface{}                                             `json:"scopes,required"`
	JSON   accessApplicationListResponseSaaSApplicationSaaSAppJSON `json:"-"`
	// contains filtered or unexported fields
}

func (AccessApplicationListResponseSaaSApplicationSaaSApp) AsUnion

AsUnion returns a AccessApplicationListResponseSaaSApplicationSaaSAppUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are zero_trust.SAMLSaaSApp, zero_trust.OIDCSaaSApp.

func (*AccessApplicationListResponseSaaSApplicationSaaSApp) UnmarshalJSON

func (r *AccessApplicationListResponseSaaSApplicationSaaSApp) UnmarshalJSON(data []byte) (err error)

type AccessApplicationListResponseSaaSApplicationSaaSAppAuthType

type AccessApplicationListResponseSaaSApplicationSaaSAppAuthType string

Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"

const (
	AccessApplicationListResponseSaaSApplicationSaaSAppAuthTypeSAML AccessApplicationListResponseSaaSApplicationSaaSAppAuthType = "saml"
	AccessApplicationListResponseSaaSApplicationSaaSAppAuthTypeOIDC AccessApplicationListResponseSaaSApplicationSaaSAppAuthType = "oidc"
)

func (AccessApplicationListResponseSaaSApplicationSaaSAppAuthType) IsKnown

type AccessApplicationListResponseSaaSApplicationSaaSAppUnion

type AccessApplicationListResponseSaaSApplicationSaaSAppUnion interface {
	// contains filtered or unexported methods
}

Union satisfied by zero_trust.SAMLSaaSApp or zero_trust.OIDCSaaSApp.

type AccessApplicationListResponseSelfHostedApplication

type AccessApplicationListResponseSelfHostedApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationListResponseSelfHostedApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                               `json:"tags"`
	UpdatedAt time.Time                                              `json:"updated_at" format:"date-time"`
	JSON      accessApplicationListResponseSelfHostedApplicationJSON `json:"-"`
}

func (*AccessApplicationListResponseSelfHostedApplication) UnmarshalJSON

func (r *AccessApplicationListResponseSelfHostedApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationListResponseSelfHostedApplicationSCIMConfig

type AccessApplicationListResponseSelfHostedApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                              `json:"mappings"`
	JSON     accessApplicationListResponseSelfHostedApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationListResponseSelfHostedApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthentication

type AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                         `json:"token_url"`
	JSON     accessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationScheme

type AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationUnion

type AccessApplicationListResponseSelfHostedApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationNewParams

type AccessApplicationNewParams struct {
	Body AccessApplicationNewParamsBodyUnion `json:"body,required"`
}

func (AccessApplicationNewParams) MarshalJSON

func (r AccessApplicationNewParams) MarshalJSON() (data []byte, err error)

type AccessApplicationNewParamsBody

type AccessApplicationNewParamsBody struct {
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP param.Field[bool]        `json:"allow_authenticate_via_warp"`
	AllowedIdPs              param.Field[interface{}] `json:"allowed_idps,required"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool]             `json:"auto_redirect_to_identity"`
	CORSHeaders            param.Field[CORSHeadersParam] `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage param.Field[string] `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL param.Field[string] `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL param.Field[string]      `json:"custom_non_identity_deny_url"`
	CustomPages              param.Field[interface{}] `json:"custom_pages,required"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain param.Field[string] `json:"domain"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie param.Field[bool] `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute param.Field[bool] `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass param.Field[bool] `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute param.Field[bool] `json:"path_cookie_attribute"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute param.Field[string]      `json:"same_site_cookie_attribute"`
	SelfHostedDomains       param.Field[interface{}] `json:"self_hosted_domains,required"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect param.Field[bool] `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial param.Field[bool]        `json:"skip_interstitial"`
	Tags             param.Field[interface{}] `json:"tags,required"`
	// The application type.
	Type       param.Field[string]      `json:"type"`
	Policies   param.Field[interface{}] `json:"policies,required"`
	SCIMConfig param.Field[interface{}] `json:"scim_config,required"`
	SaaSApp    param.Field[interface{}] `json:"saas_app,required"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL param.Field[string] `json:"app_launcher_logo_url"`
	// The background color of the App Launcher page.
	BgColor     param.Field[string]      `json:"bg_color"`
	FooterLinks param.Field[interface{}] `json:"footer_links,required"`
	// The background color of the App Launcher header.
	HeaderBgColor     param.Field[string]      `json:"header_bg_color"`
	LandingPageDesign param.Field[interface{}] `json:"landing_page_design,required"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage param.Field[bool] `json:"skip_app_launcher_login_page"`
}

func (AccessApplicationNewParamsBody) MarshalJSON

func (r AccessApplicationNewParamsBody) MarshalJSON() (data []byte, err error)

type AccessApplicationNewParamsBodyAppLauncherApplication

type AccessApplicationNewParamsBodyAppLauncherApplication struct {
	// The application type.
	Type param.Field[ApplicationType] `json:"type,required"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL param.Field[string] `json:"app_launcher_logo_url"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor param.Field[string] `json:"bg_color"`
	// The links in the App Launcher footer.
	FooterLinks param.Field[[]AccessApplicationNewParamsBodyAppLauncherApplicationFooterLink] `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor param.Field[string] `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign param.Field[AccessApplicationNewParamsBodyAppLauncherApplicationLandingPageDesign] `json:"landing_page_design"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion] `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfig] `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage param.Field[bool] `json:"skip_app_launcher_login_page"`
}

func (AccessApplicationNewParamsBodyAppLauncherApplication) MarshalJSON

func (r AccessApplicationNewParamsBodyAppLauncherApplication) MarshalJSON() (data []byte, err error)
type AccessApplicationNewParamsBodyAppLauncherApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name param.Field[string] `json:"name,required"`
	// the hyperlink in the footer link.
	URL param.Field[string] `json:"url,required"`
}

func (AccessApplicationNewParamsBodyAppLauncherApplicationFooterLink) MarshalJSON

type AccessApplicationNewParamsBodyAppLauncherApplicationLandingPageDesign

type AccessApplicationNewParamsBodyAppLauncherApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor param.Field[string] `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor param.Field[string] `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL param.Field[string] `json:"image_url"`
	// The message shown on the landing page.
	Message param.Field[string] `json:"message"`
	// The title shown on the landing page.
	Title param.Field[string] `json:"title"`
}

The design of the App Launcher landing page shown to users when they log in.

func (AccessApplicationNewParamsBodyAppLauncherApplicationLandingPageDesign) MarshalJSON

type AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesObject

type AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesObject) MarshalJSON

type AccessApplicationNewParamsBodyAppLauncherApplicationPolicy

type AccessApplicationNewParamsBodyAppLauncherApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyAppLauncherApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyAppLauncherApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyAppLauncherApplicationPolicy) MarshalJSON

type AccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion

type AccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationNewParamsBodyAppLauncherApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationNewParamsBodyAppLauncherApplicationPoliciesObject, AccessApplicationNewParamsBodyAppLauncherApplicationPolicy.

type AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfig

type AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfig) MarshalJSON

type AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthentication

type AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationNewParamsBodyAppLauncherApplicationSCIMConfigAuthentication.

type AccessApplicationNewParamsBodyBookmarkApplication

type AccessApplicationNewParamsBodyBookmarkApplication struct {
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// The URL or domain of the bookmark.
	Domain param.Field[string] `json:"domain"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfig] `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
	// The application type.
	Type param.Field[string] `json:"type"`
}

func (AccessApplicationNewParamsBodyBookmarkApplication) MarshalJSON

func (r AccessApplicationNewParamsBodyBookmarkApplication) MarshalJSON() (data []byte, err error)

type AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfig

type AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfig) MarshalJSON

type AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthentication

type AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationNewParamsBodyBookmarkApplicationSCIMConfigAuthentication.

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplication

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplication struct {
	// The application type.
	Type param.Field[ApplicationType] `json:"type,required"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL param.Field[string] `json:"app_launcher_logo_url"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor param.Field[string] `json:"bg_color"`
	// The links in the App Launcher footer.
	FooterLinks param.Field[[]AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationFooterLink] `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor param.Field[string] `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign param.Field[AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationLandingPageDesign] `json:"landing_page_design"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion] `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfig] `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage param.Field[bool] `json:"skip_app_launcher_login_page"`
}

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplication) MarshalJSON

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name param.Field[string] `json:"name,required"`
	// the hyperlink in the footer link.
	URL param.Field[string] `json:"url,required"`
}

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationFooterLink) MarshalJSON

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationLandingPageDesign

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor param.Field[string] `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor param.Field[string] `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL param.Field[string] `json:"image_url"`
	// The message shown on the landing page.
	Message param.Field[string] `json:"message"`
	// The title shown on the landing page.
	Title param.Field[string] `json:"title"`
}

The design of the App Launcher landing page shown to users when they log in.

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationLandingPageDesign) MarshalJSON

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject) MarshalJSON

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicy

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicy) MarshalJSON

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject, AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationPolicy.

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfig

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfig) MarshalJSON

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationNewParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthentication.

type AccessApplicationNewParamsBodyBrowserSSHApplication

type AccessApplicationNewParamsBodyBrowserSSHApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain param.Field[string] `json:"domain,required"`
	// The application type.
	Type param.Field[string] `json:"type,required"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP param.Field[bool] `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool]             `json:"auto_redirect_to_identity"`
	CORSHeaders            param.Field[CORSHeadersParam] `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage param.Field[string] `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL param.Field[string] `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL param.Field[string] `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages param.Field[[]string] `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie param.Field[bool] `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute param.Field[bool] `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass param.Field[bool] `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute param.Field[bool] `json:"path_cookie_attribute"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion] `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute param.Field[string] `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfig] `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains param.Field[[]SelfHostedDomainsParam] `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect param.Field[bool] `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial param.Field[bool] `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
}

func (AccessApplicationNewParamsBodyBrowserSSHApplication) MarshalJSON

func (r AccessApplicationNewParamsBodyBrowserSSHApplication) MarshalJSON() (data []byte, err error)
type AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesObject

type AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesObject) MarshalJSON

type AccessApplicationNewParamsBodyBrowserSSHApplicationPolicy

type AccessApplicationNewParamsBodyBrowserSSHApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyBrowserSSHApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserSSHApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserSSHApplicationPolicy) MarshalJSON

type AccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion

type AccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserSSHApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationNewParamsBodyBrowserSSHApplicationPoliciesObject, AccessApplicationNewParamsBodyBrowserSSHApplicationPolicy.

type AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfig

type AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfig) MarshalJSON

type AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthentication

type AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationNewParamsBodyBrowserSSHApplicationSCIMConfigAuthentication.

type AccessApplicationNewParamsBodyBrowserVNCApplication

type AccessApplicationNewParamsBodyBrowserVNCApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain param.Field[string] `json:"domain,required"`
	// The application type.
	Type param.Field[string] `json:"type,required"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP param.Field[bool] `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool]             `json:"auto_redirect_to_identity"`
	CORSHeaders            param.Field[CORSHeadersParam] `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage param.Field[string] `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL param.Field[string] `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL param.Field[string] `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages param.Field[[]string] `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie param.Field[bool] `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute param.Field[bool] `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass param.Field[bool] `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute param.Field[bool] `json:"path_cookie_attribute"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion] `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute param.Field[string] `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfig] `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains param.Field[[]SelfHostedDomainsParam] `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect param.Field[bool] `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial param.Field[bool] `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
}

func (AccessApplicationNewParamsBodyBrowserVNCApplication) MarshalJSON

func (r AccessApplicationNewParamsBodyBrowserVNCApplication) MarshalJSON() (data []byte, err error)
type AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesObject

type AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesObject) MarshalJSON

type AccessApplicationNewParamsBodyBrowserVNCApplicationPolicy

type AccessApplicationNewParamsBodyBrowserVNCApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyBrowserVNCApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyBrowserVNCApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyBrowserVNCApplicationPolicy) MarshalJSON

type AccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion

type AccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationNewParamsBodyBrowserVNCApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationNewParamsBodyBrowserVNCApplicationPoliciesObject, AccessApplicationNewParamsBodyBrowserVNCApplicationPolicy.

type AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfig

type AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfig) MarshalJSON

type AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthentication

type AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationNewParamsBodyBrowserVNCApplicationSCIMConfigAuthentication.

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplication

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplication struct {
	// The application type.
	Type param.Field[ApplicationType] `json:"type,required"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL param.Field[string] `json:"app_launcher_logo_url"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor param.Field[string] `json:"bg_color"`
	// The links in the App Launcher footer.
	FooterLinks param.Field[[]AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationFooterLink] `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor param.Field[string] `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign param.Field[AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationLandingPageDesign] `json:"landing_page_design"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion] `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfig] `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage param.Field[bool] `json:"skip_app_launcher_login_page"`
}

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplication) MarshalJSON

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name param.Field[string] `json:"name,required"`
	// the hyperlink in the footer link.
	URL param.Field[string] `json:"url,required"`
}

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationFooterLink) MarshalJSON

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationLandingPageDesign

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor param.Field[string] `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor param.Field[string] `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL param.Field[string] `json:"image_url"`
	// The message shown on the landing page.
	Message param.Field[string] `json:"message"`
	// The title shown on the landing page.
	Title param.Field[string] `json:"title"`
}

The design of the App Launcher landing page shown to users when they log in.

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationLandingPageDesign) MarshalJSON

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject) MarshalJSON

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicy

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion

func (r AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion()

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicy) MarshalJSON

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject, AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationPolicy.

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfig

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfig) MarshalJSON

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationNewParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication.

type AccessApplicationNewParamsBodySaaSApplication

type AccessApplicationNewParamsBodySaaSApplication struct {
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages param.Field[[]string] `json:"custom_pages"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationNewParamsBodySaaSApplicationPolicyUnion] `json:"policies"`
	SaaSApp  param.Field[AccessApplicationNewParamsBodySaaSApplicationSaaSAppUnion]  `json:"saas_app"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationNewParamsBodySaaSApplicationSCIMConfig] `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
	// The application type.
	Type param.Field[string] `json:"type"`
}

func (AccessApplicationNewParamsBodySaaSApplication) MarshalJSON

func (r AccessApplicationNewParamsBodySaaSApplication) MarshalJSON() (data []byte, err error)
type AccessApplicationNewParamsBodySaaSApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodySaaSApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodySaaSApplicationPolicyUnion

func (r AccessApplicationNewParamsBodySaaSApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodySaaSApplicationPolicyUnion()

func (AccessApplicationNewParamsBodySaaSApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationNewParamsBodySaaSApplicationPoliciesObject

type AccessApplicationNewParamsBodySaaSApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationNewParamsBodySaaSApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodySaaSApplicationPolicyUnion

func (r AccessApplicationNewParamsBodySaaSApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodySaaSApplicationPolicyUnion()

func (AccessApplicationNewParamsBodySaaSApplicationPoliciesObject) MarshalJSON

type AccessApplicationNewParamsBodySaaSApplicationPolicy

type AccessApplicationNewParamsBodySaaSApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodySaaSApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodySaaSApplicationPolicyUnion

func (r AccessApplicationNewParamsBodySaaSApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodySaaSApplicationPolicyUnion()

func (AccessApplicationNewParamsBodySaaSApplicationPolicy) MarshalJSON

func (r AccessApplicationNewParamsBodySaaSApplicationPolicy) MarshalJSON() (data []byte, err error)

type AccessApplicationNewParamsBodySaaSApplicationPolicyUnion

type AccessApplicationNewParamsBodySaaSApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationNewParamsBodySaaSApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationNewParamsBodySaaSApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationNewParamsBodySaaSApplicationPoliciesObject, AccessApplicationNewParamsBodySaaSApplicationPolicy.

type AccessApplicationNewParamsBodySaaSApplicationSCIMConfig

type AccessApplicationNewParamsBodySaaSApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationNewParamsBodySaaSApplicationSCIMConfig) MarshalJSON

type AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthentication

type AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationNewParamsBodySaaSApplicationSCIMConfigAuthentication.

type AccessApplicationNewParamsBodySaaSApplicationSaaSApp

type AccessApplicationNewParamsBodySaaSApplicationSaaSApp struct {
	// Optional identifier indicating the authentication protocol used for the saas
	// app. Required for OIDC. Default if unset is "saml"
	AuthType param.Field[AccessApplicationNewParamsBodySaaSApplicationSaaSAppAuthType] `json:"auth_type"`
	// The service provider's endpoint that is responsible for receiving and parsing a
	// SAML assertion.
	ConsumerServiceURL param.Field[string]      `json:"consumer_service_url"`
	CustomAttributes   param.Field[interface{}] `json:"custom_attributes,required"`
	// The URL that the user will be redirected to after a successful login for IDP
	// initiated logins.
	DefaultRelayState param.Field[string] `json:"default_relay_state"`
	// The unique identifier for your SaaS application.
	IdPEntityID param.Field[string] `json:"idp_entity_id"`
	// The format of the name identifier sent to the SaaS application.
	NameIDFormat param.Field[SaaSAppNameIDFormat] `json:"name_id_format"`
	// A [JSONata](https://jsonata.org/) expression that transforms an application's
	// user identities into a NameID value for its SAML assertion. This expression
	// should evaluate to a singular string. The output of this expression can override
	// the `name_id_format` setting.
	NameIDTransformJsonata param.Field[string] `json:"name_id_transform_jsonata"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey param.Field[string] `json:"public_key"`
	// A [JSONata] (https://jsonata.org/) expression that transforms an application's
	// user identities into attribute assertions in the SAML response. The expression
	// can transform id, email, name, and groups values. It can also transform fields
	// listed in the saml_attributes or oidc_fields of the identity provider used to
	// authenticate. The output of this expression must be a JSON object.
	SAMLAttributeTransformJsonata param.Field[string] `json:"saml_attribute_transform_jsonata"`
	// A globally unique name for an identity or service provider.
	SPEntityID param.Field[string] `json:"sp_entity_id"`
	// The endpoint where your SaaS application will send login requests.
	SSOEndpoint param.Field[string] `json:"sso_endpoint"`
	// The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must
	// be greater than or equal to 1m and less than or equal to 24h.
	AccessTokenLifetime param.Field[string] `json:"access_token_lifetime"`
	// If client secret should be required on the token endpoint when
	// authorization_code_with_pkce grant is used.
	AllowPKCEWithoutClientSecret param.Field[bool] `json:"allow_pkce_without_client_secret"`
	// The URL where this applications tile redirects users
	AppLauncherURL param.Field[string] `json:"app_launcher_url"`
	// The application client id
	ClientID param.Field[string] `json:"client_id"`
	// The application client secret, only returned on POST request.
	ClientSecret param.Field[string]      `json:"client_secret"`
	CustomClaims param.Field[interface{}] `json:"custom_claims,required"`
	GrantTypes   param.Field[interface{}] `json:"grant_types,required"`
	// A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
	GroupFilterRegex         param.Field[string]      `json:"group_filter_regex"`
	HybridAndImplicitOptions param.Field[interface{}] `json:"hybrid_and_implicit_options,required"`
	RedirectURIs             param.Field[interface{}] `json:"redirect_uris,required"`
	RefreshTokenOptions      param.Field[interface{}] `json:"refresh_token_options,required"`
	Scopes                   param.Field[interface{}] `json:"scopes,required"`
}

func (AccessApplicationNewParamsBodySaaSApplicationSaaSApp) MarshalJSON

func (r AccessApplicationNewParamsBodySaaSApplicationSaaSApp) MarshalJSON() (data []byte, err error)

type AccessApplicationNewParamsBodySaaSApplicationSaaSAppAuthType

type AccessApplicationNewParamsBodySaaSApplicationSaaSAppAuthType string

Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"

const (
	AccessApplicationNewParamsBodySaaSApplicationSaaSAppAuthTypeSAML AccessApplicationNewParamsBodySaaSApplicationSaaSAppAuthType = "saml"
	AccessApplicationNewParamsBodySaaSApplicationSaaSAppAuthTypeOIDC AccessApplicationNewParamsBodySaaSApplicationSaaSAppAuthType = "oidc"
)

func (AccessApplicationNewParamsBodySaaSApplicationSaaSAppAuthType) IsKnown

type AccessApplicationNewParamsBodySaaSApplicationSaaSAppUnion

type AccessApplicationNewParamsBodySaaSApplicationSaaSAppUnion interface {
	// contains filtered or unexported methods
}

Satisfied by zero_trust.SAMLSaaSAppParam, zero_trust.OIDCSaaSAppParam, AccessApplicationNewParamsBodySaaSApplicationSaaSApp.

type AccessApplicationNewParamsBodySelfHostedApplication

type AccessApplicationNewParamsBodySelfHostedApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain param.Field[string] `json:"domain,required"`
	// The application type.
	Type param.Field[string] `json:"type,required"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP param.Field[bool] `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool]             `json:"auto_redirect_to_identity"`
	CORSHeaders            param.Field[CORSHeadersParam] `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage param.Field[string] `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL param.Field[string] `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL param.Field[string] `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages param.Field[[]string] `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie param.Field[bool] `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute param.Field[bool] `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass param.Field[bool] `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute param.Field[bool] `json:"path_cookie_attribute"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion] `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute param.Field[string] `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfig] `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains param.Field[[]SelfHostedDomainsParam] `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect param.Field[bool] `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial param.Field[bool] `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
}

func (AccessApplicationNewParamsBodySelfHostedApplication) MarshalJSON

func (r AccessApplicationNewParamsBodySelfHostedApplication) MarshalJSON() (data []byte, err error)
type AccessApplicationNewParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion

func (r AccessApplicationNewParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion()

func (AccessApplicationNewParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationNewParamsBodySelfHostedApplicationPoliciesObject

type AccessApplicationNewParamsBodySelfHostedApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationNewParamsBodySelfHostedApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion

func (r AccessApplicationNewParamsBodySelfHostedApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion()

func (AccessApplicationNewParamsBodySelfHostedApplicationPoliciesObject) MarshalJSON

type AccessApplicationNewParamsBodySelfHostedApplicationPolicy

type AccessApplicationNewParamsBodySelfHostedApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationNewParamsBodySelfHostedApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion

func (r AccessApplicationNewParamsBodySelfHostedApplicationPolicy) ImplementsZeroTrustAccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion()

func (AccessApplicationNewParamsBodySelfHostedApplicationPolicy) MarshalJSON

type AccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion

type AccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationNewParamsBodySelfHostedApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationNewParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationNewParamsBodySelfHostedApplicationPoliciesObject, AccessApplicationNewParamsBodySelfHostedApplicationPolicy.

type AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfig

type AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfig) MarshalJSON

type AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthentication

type AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationNewParamsBodySelfHostedApplicationSCIMConfigAuthentication.

type AccessApplicationNewResponse

type AccessApplicationNewResponse struct {
	// Audience tag.
	AUD       string    `json:"aud"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// UUID
	ID string `json:"id"`
	// This field can have the runtime type of
	// [AccessApplicationNewResponseSelfHostedApplicationSCIMConfig],
	// [AccessApplicationNewResponseSaaSApplicationSCIMConfig],
	// [AccessApplicationNewResponseBrowserSSHApplicationSCIMConfig],
	// [AccessApplicationNewResponseBrowserVNCApplicationSCIMConfig],
	// [AccessApplicationNewResponseAppLauncherApplicationSCIMConfig],
	// [AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfig],
	// [AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfig],
	// [AccessApplicationNewResponseBookmarkApplicationSCIMConfig].
	SCIMConfig interface{} `json:"scim_config,required"`
	UpdatedAt  time.Time   `json:"updated_at" format:"date-time"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// This field can have the runtime type of [[]AllowedIdPs].
	AllowedIdPs interface{} `json:"allowed_idps,required"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// This field can have the runtime type of [[]string].
	CustomPages interface{} `json:"custom_pages,required"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool `json:"path_cookie_attribute"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// This field can have the runtime type of [[]SelfHostedDomains].
	SelfHostedDomains interface{} `json:"self_hosted_domains,required"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// This field can have the runtime type of [[]string].
	Tags interface{} `json:"tags,required"`
	// The application type.
	Type string `json:"type"`
	// This field can have the runtime type of [[]ApplicationPolicy].
	Policies interface{} `json:"policies,required"`
	// This field can have the runtime type of
	// [AccessApplicationNewResponseSaaSApplicationSaaSApp].
	SaaSApp interface{} `json:"saas_app,required"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// The background color of the App Launcher page.
	BgColor string `json:"bg_color"`
	// This field can have the runtime type of
	// [[]AccessApplicationNewResponseAppLauncherApplicationFooterLink],
	// [[]AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationFooterLink],
	// [[]AccessApplicationNewResponseBrowserIsolationPermissionsApplicationFooterLink].
	FooterLinks interface{} `json:"footer_links,required"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// This field can have the runtime type of
	// [AccessApplicationNewResponseAppLauncherApplicationLandingPageDesign],
	// [AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign],
	// [AccessApplicationNewResponseBrowserIsolationPermissionsApplicationLandingPageDesign].
	LandingPageDesign interface{} `json:"landing_page_design,required"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                             `json:"skip_app_launcher_login_page"`
	JSON                     accessApplicationNewResponseJSON `json:"-"`
	// contains filtered or unexported fields
}

func (*AccessApplicationNewResponse) UnmarshalJSON

func (r *AccessApplicationNewResponse) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseAppLauncherApplication

type AccessApplicationNewResponseAppLauncherApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationNewResponseAppLauncherApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationNewResponseAppLauncherApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationNewResponseAppLauncherApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                   `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                              `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationNewResponseAppLauncherApplicationJSON `json:"-"`
}

func (*AccessApplicationNewResponseAppLauncherApplication) UnmarshalJSON

func (r *AccessApplicationNewResponseAppLauncherApplication) UnmarshalJSON(data []byte) (err error)
type AccessApplicationNewResponseAppLauncherApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                           `json:"url,required"`
	JSON accessApplicationNewResponseAppLauncherApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationNewResponseAppLauncherApplicationFooterLink) UnmarshalJSON

type AccessApplicationNewResponseAppLauncherApplicationLandingPageDesign

type AccessApplicationNewResponseAppLauncherApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                  `json:"title"`
	JSON  accessApplicationNewResponseAppLauncherApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationNewResponseAppLauncherApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationNewResponseAppLauncherApplicationSCIMConfig

type AccessApplicationNewResponseAppLauncherApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                              `json:"mappings"`
	JSON     accessApplicationNewResponseAppLauncherApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationNewResponseAppLauncherApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthentication

type AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                         `json:"token_url"`
	JSON     accessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewResponseAppLauncherApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationNewResponseBookmarkApplication

type AccessApplicationNewResponseBookmarkApplication struct {
	// UUID
	ID string `json:"id"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD       string    `json:"aud"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The URL or domain of the bookmark.
	Domain string `json:"domain"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationNewResponseBookmarkApplicationSCIMConfig `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags []string `json:"tags"`
	// The application type.
	Type      string                                              `json:"type"`
	UpdatedAt time.Time                                           `json:"updated_at" format:"date-time"`
	JSON      accessApplicationNewResponseBookmarkApplicationJSON `json:"-"`
}

func (*AccessApplicationNewResponseBookmarkApplication) UnmarshalJSON

func (r *AccessApplicationNewResponseBookmarkApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseBookmarkApplicationSCIMConfig

type AccessApplicationNewResponseBookmarkApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                           `json:"mappings"`
	JSON     accessApplicationNewResponseBookmarkApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationNewResponseBookmarkApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthentication

type AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                      `json:"token_url"`
	JSON     accessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewResponseBookmarkApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationNewResponseBrowserIsolationPermissionsApplication

type AccessApplicationNewResponseBrowserIsolationPermissionsApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationNewResponseBrowserIsolationPermissionsApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationNewResponseBrowserIsolationPermissionsApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                                   `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                              `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationNewResponseBrowserIsolationPermissionsApplicationJSON `json:"-"`
}

func (*AccessApplicationNewResponseBrowserIsolationPermissionsApplication) UnmarshalJSON

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                                           `json:"url,required"`
	JSON accessApplicationNewResponseBrowserIsolationPermissionsApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationNewResponseBrowserIsolationPermissionsApplicationFooterLink) UnmarshalJSON

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationLandingPageDesign

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                                  `json:"title"`
	JSON  accessApplicationNewResponseBrowserIsolationPermissionsApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationNewResponseBrowserIsolationPermissionsApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfig

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                              `json:"mappings"`
	JSON     accessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                                         `json:"token_url"`
	JSON     accessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationNewResponseBrowserSSHApplication

type AccessApplicationNewResponseBrowserSSHApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationNewResponseBrowserSSHApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                              `json:"tags"`
	UpdatedAt time.Time                                             `json:"updated_at" format:"date-time"`
	JSON      accessApplicationNewResponseBrowserSSHApplicationJSON `json:"-"`
}

func (*AccessApplicationNewResponseBrowserSSHApplication) UnmarshalJSON

func (r *AccessApplicationNewResponseBrowserSSHApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseBrowserSSHApplicationSCIMConfig

type AccessApplicationNewResponseBrowserSSHApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                             `json:"mappings"`
	JSON     accessApplicationNewResponseBrowserSSHApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationNewResponseBrowserSSHApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthentication

type AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                        `json:"token_url"`
	JSON     accessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewResponseBrowserSSHApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationNewResponseBrowserVNCApplication

type AccessApplicationNewResponseBrowserVNCApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationNewResponseBrowserVNCApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                              `json:"tags"`
	UpdatedAt time.Time                                             `json:"updated_at" format:"date-time"`
	JSON      accessApplicationNewResponseBrowserVNCApplicationJSON `json:"-"`
}

func (*AccessApplicationNewResponseBrowserVNCApplication) UnmarshalJSON

func (r *AccessApplicationNewResponseBrowserVNCApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseBrowserVNCApplicationSCIMConfig

type AccessApplicationNewResponseBrowserVNCApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                             `json:"mappings"`
	JSON     accessApplicationNewResponseBrowserVNCApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationNewResponseBrowserVNCApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthentication

type AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                        `json:"token_url"`
	JSON     accessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewResponseBrowserVNCApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplication

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                                   `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                              `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationNewResponseDeviceEnrollmentPermissionsApplicationJSON `json:"-"`
}

func (*AccessApplicationNewResponseDeviceEnrollmentPermissionsApplication) UnmarshalJSON

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                                           `json:"url,required"`
	JSON accessApplicationNewResponseDeviceEnrollmentPermissionsApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationFooterLink) UnmarshalJSON

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                                  `json:"title"`
	JSON  accessApplicationNewResponseDeviceEnrollmentPermissionsApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfig

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                              `json:"mappings"`
	JSON     accessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                                         `json:"token_url"`
	JSON     accessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationNewResponseEnvelope

type AccessApplicationNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationNewResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationNewResponse                `json:"result"`
	JSON    accessApplicationNewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationNewResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseEnvelopeSuccess

type AccessApplicationNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationNewResponseEnvelopeSuccessTrue AccessApplicationNewResponseEnvelopeSuccess = true
)

func (AccessApplicationNewResponseEnvelopeSuccess) IsKnown

type AccessApplicationNewResponseSaaSApplication

type AccessApplicationNewResponseSaaSApplication struct {
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool      `json:"auto_redirect_to_identity"`
	CreatedAt              time.Time `json:"created_at" format:"date-time"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name     string                                             `json:"name"`
	Policies []ApplicationPolicy                                `json:"policies"`
	SaaSApp  AccessApplicationNewResponseSaaSApplicationSaaSApp `json:"saas_app"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationNewResponseSaaSApplicationSCIMConfig `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags []string `json:"tags"`
	// The application type.
	Type      string                                          `json:"type"`
	UpdatedAt time.Time                                       `json:"updated_at" format:"date-time"`
	JSON      accessApplicationNewResponseSaaSApplicationJSON `json:"-"`
}

func (*AccessApplicationNewResponseSaaSApplication) UnmarshalJSON

func (r *AccessApplicationNewResponseSaaSApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseSaaSApplicationSCIMConfig

type AccessApplicationNewResponseSaaSApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                       `json:"mappings"`
	JSON     accessApplicationNewResponseSaaSApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationNewResponseSaaSApplicationSCIMConfig) UnmarshalJSON

func (r *AccessApplicationNewResponseSaaSApplicationSCIMConfig) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthentication

type AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                  `json:"token_url"`
	JSON     accessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewResponseSaaSApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationNewResponseSaaSApplicationSaaSApp

type AccessApplicationNewResponseSaaSApplicationSaaSApp struct {
	// Optional identifier indicating the authentication protocol used for the saas
	// app. Required for OIDC. Default if unset is "saml"
	AuthType AccessApplicationNewResponseSaaSApplicationSaaSAppAuthType `json:"auth_type"`
	// The service provider's endpoint that is responsible for receiving and parsing a
	// SAML assertion.
	ConsumerServiceURL string    `json:"consumer_service_url"`
	CreatedAt          time.Time `json:"created_at" format:"date-time"`
	// This field can have the runtime type of [SAMLSaaSAppCustomAttributes].
	CustomAttributes interface{} `json:"custom_attributes,required"`
	// The URL that the user will be redirected to after a successful login for IDP
	// initiated logins.
	DefaultRelayState string `json:"default_relay_state"`
	// The unique identifier for your SaaS application.
	IdPEntityID string `json:"idp_entity_id"`
	// The format of the name identifier sent to the SaaS application.
	NameIDFormat SaaSAppNameIDFormat `json:"name_id_format"`
	// A [JSONata](https://jsonata.org/) expression that transforms an application's
	// user identities into a NameID value for its SAML assertion. This expression
	// should evaluate to a singular string. The output of this expression can override
	// the `name_id_format` setting.
	NameIDTransformJsonata string `json:"name_id_transform_jsonata"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey string `json:"public_key"`
	// A [JSONata] (https://jsonata.org/) expression that transforms an application's
	// user identities into attribute assertions in the SAML response. The expression
	// can transform id, email, name, and groups values. It can also transform fields
	// listed in the saml_attributes or oidc_fields of the identity provider used to
	// authenticate. The output of this expression must be a JSON object.
	SAMLAttributeTransformJsonata string `json:"saml_attribute_transform_jsonata"`
	// A globally unique name for an identity or service provider.
	SPEntityID string `json:"sp_entity_id"`
	// The endpoint where your SaaS application will send login requests.
	SSOEndpoint string    `json:"sso_endpoint"`
	UpdatedAt   time.Time `json:"updated_at" format:"date-time"`
	// The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must
	// be greater than or equal to 1m and less than or equal to 24h.
	AccessTokenLifetime string `json:"access_token_lifetime"`
	// If client secret should be required on the token endpoint when
	// authorization_code_with_pkce grant is used.
	AllowPKCEWithoutClientSecret bool `json:"allow_pkce_without_client_secret"`
	// The URL where this applications tile redirects users
	AppLauncherURL string `json:"app_launcher_url"`
	// The application client id
	ClientID string `json:"client_id"`
	// The application client secret, only returned on POST request.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [OIDCSaaSAppCustomClaims].
	CustomClaims interface{} `json:"custom_claims,required"`
	// This field can have the runtime type of [[]OIDCSaaSAppGrantType].
	GrantTypes interface{} `json:"grant_types,required"`
	// A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
	GroupFilterRegex string `json:"group_filter_regex"`
	// This field can have the runtime type of [OIDCSaaSAppHybridAndImplicitOptions].
	HybridAndImplicitOptions interface{} `json:"hybrid_and_implicit_options,required"`
	// This field can have the runtime type of [[]string].
	RedirectURIs interface{} `json:"redirect_uris,required"`
	// This field can have the runtime type of [OIDCSaaSAppRefreshTokenOptions].
	RefreshTokenOptions interface{} `json:"refresh_token_options,required"`
	// This field can have the runtime type of [[]OIDCSaaSAppScope].
	Scopes interface{}                                            `json:"scopes,required"`
	JSON   accessApplicationNewResponseSaaSApplicationSaaSAppJSON `json:"-"`
	// contains filtered or unexported fields
}

func (AccessApplicationNewResponseSaaSApplicationSaaSApp) AsUnion

AsUnion returns a AccessApplicationNewResponseSaaSApplicationSaaSAppUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are zero_trust.SAMLSaaSApp, zero_trust.OIDCSaaSApp.

func (*AccessApplicationNewResponseSaaSApplicationSaaSApp) UnmarshalJSON

func (r *AccessApplicationNewResponseSaaSApplicationSaaSApp) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseSaaSApplicationSaaSAppAuthType

type AccessApplicationNewResponseSaaSApplicationSaaSAppAuthType string

Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"

const (
	AccessApplicationNewResponseSaaSApplicationSaaSAppAuthTypeSAML AccessApplicationNewResponseSaaSApplicationSaaSAppAuthType = "saml"
	AccessApplicationNewResponseSaaSApplicationSaaSAppAuthTypeOIDC AccessApplicationNewResponseSaaSApplicationSaaSAppAuthType = "oidc"
)

func (AccessApplicationNewResponseSaaSApplicationSaaSAppAuthType) IsKnown

type AccessApplicationNewResponseSaaSApplicationSaaSAppUnion

type AccessApplicationNewResponseSaaSApplicationSaaSAppUnion interface {
	// contains filtered or unexported methods
}

Union satisfied by zero_trust.SAMLSaaSApp or zero_trust.OIDCSaaSApp.

type AccessApplicationNewResponseSelfHostedApplication

type AccessApplicationNewResponseSelfHostedApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationNewResponseSelfHostedApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                              `json:"tags"`
	UpdatedAt time.Time                                             `json:"updated_at" format:"date-time"`
	JSON      accessApplicationNewResponseSelfHostedApplicationJSON `json:"-"`
}

func (*AccessApplicationNewResponseSelfHostedApplication) UnmarshalJSON

func (r *AccessApplicationNewResponseSelfHostedApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationNewResponseSelfHostedApplicationSCIMConfig

type AccessApplicationNewResponseSelfHostedApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                             `json:"mappings"`
	JSON     accessApplicationNewResponseSelfHostedApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationNewResponseSelfHostedApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthentication

type AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                        `json:"token_url"`
	JSON     accessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationScheme

type AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationUnion

type AccessApplicationNewResponseSelfHostedApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationPolicyDeleteResponse

type AccessApplicationPolicyDeleteResponse struct {
	// UUID
	ID   string                                    `json:"id"`
	JSON accessApplicationPolicyDeleteResponseJSON `json:"-"`
}

func (*AccessApplicationPolicyDeleteResponse) UnmarshalJSON

func (r *AccessApplicationPolicyDeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessApplicationPolicyDeleteResponseEnvelope

type AccessApplicationPolicyDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationPolicyDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationPolicyDeleteResponse                `json:"result"`
	JSON    accessApplicationPolicyDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationPolicyDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationPolicyDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationPolicyDeleteResponseEnvelopeSuccess

type AccessApplicationPolicyDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationPolicyDeleteResponseEnvelopeSuccessTrue AccessApplicationPolicyDeleteResponseEnvelopeSuccess = true
)

func (AccessApplicationPolicyDeleteResponseEnvelopeSuccess) IsKnown

type AccessApplicationPolicyGetResponseEnvelope

type AccessApplicationPolicyGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationPolicyGetResponseEnvelopeSuccess `json:"success,required"`
	Result  ApplicationPolicy                                 `json:"result"`
	JSON    accessApplicationPolicyGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationPolicyGetResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationPolicyGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationPolicyGetResponseEnvelopeSuccess

type AccessApplicationPolicyGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationPolicyGetResponseEnvelopeSuccessTrue AccessApplicationPolicyGetResponseEnvelopeSuccess = true
)

func (AccessApplicationPolicyGetResponseEnvelopeSuccess) IsKnown

type AccessApplicationPolicyNewParams

type AccessApplicationPolicyNewParams struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationPolicyNewParams) MarshalJSON

func (r AccessApplicationPolicyNewParams) MarshalJSON() (data []byte, err error)

type AccessApplicationPolicyNewResponseEnvelope

type AccessApplicationPolicyNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationPolicyNewResponseEnvelopeSuccess `json:"success,required"`
	Result  ApplicationPolicy                                 `json:"result"`
	JSON    accessApplicationPolicyNewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationPolicyNewResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationPolicyNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationPolicyNewResponseEnvelopeSuccess

type AccessApplicationPolicyNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationPolicyNewResponseEnvelopeSuccessTrue AccessApplicationPolicyNewResponseEnvelopeSuccess = true
)

func (AccessApplicationPolicyNewResponseEnvelopeSuccess) IsKnown

type AccessApplicationPolicyService

type AccessApplicationPolicyService struct {
	Options []option.RequestOption
}

AccessApplicationPolicyService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessApplicationPolicyService method instead.

func NewAccessApplicationPolicyService

func NewAccessApplicationPolicyService(opts ...option.RequestOption) (r *AccessApplicationPolicyService)

NewAccessApplicationPolicyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessApplicationPolicyService) Delete

func (r *AccessApplicationPolicyService) Delete(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, policyID string, opts ...option.RequestOption) (res *AccessApplicationPolicyDeleteResponse, err error)

Deletes an Access policy specific to an application. To delete a reusable policy, use the /account or zones/{account or zone_id}/policies/{uid} endpoint.

func (*AccessApplicationPolicyService) Get

func (r *AccessApplicationPolicyService) Get(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, policyID string, opts ...option.RequestOption) (res *ApplicationPolicy, err error)

Fetches a single Access policy configured for an application. Returns both exclusively owned and reusable policies used by the application.

func (*AccessApplicationPolicyService) List

func (r *AccessApplicationPolicyService) List(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, opts ...option.RequestOption) (res *pagination.SinglePage[ApplicationPolicy], err error)

Lists Access policies configured for an application. Returns both exclusively scoped and reusable policies used by the application.

func (*AccessApplicationPolicyService) ListAutoPaging

func (r *AccessApplicationPolicyService) ListAutoPaging(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[ApplicationPolicy]

Lists Access policies configured for an application. Returns both exclusively scoped and reusable policies used by the application.

func (*AccessApplicationPolicyService) New

func (r *AccessApplicationPolicyService) New(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, body AccessApplicationPolicyNewParams, opts ...option.RequestOption) (res *ApplicationPolicy, err error)

Creates a policy applying exclusive to a single application that defines the users or groups who can reach it. We recommend creating a reusable policy instead and subsequently referencing its ID in the application's 'policies' array.

func (*AccessApplicationPolicyService) Update

func (r *AccessApplicationPolicyService) Update(ctx context.Context, accountOrZone string, accountOrZoneID string, appID string, policyID string, body AccessApplicationPolicyUpdateParams, opts ...option.RequestOption) (res *ApplicationPolicy, err error)

Updates an Access policy specific to an application. To update a reusable policy, use the /account or zones/{account or zone_id}/policies/{uid} endpoint.

type AccessApplicationPolicyUpdateParams

type AccessApplicationPolicyUpdateParams struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationPolicyUpdateParams) MarshalJSON

func (r AccessApplicationPolicyUpdateParams) MarshalJSON() (data []byte, err error)

type AccessApplicationPolicyUpdateResponseEnvelope

type AccessApplicationPolicyUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationPolicyUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  ApplicationPolicy                                    `json:"result"`
	JSON    accessApplicationPolicyUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationPolicyUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationPolicyUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationPolicyUpdateResponseEnvelopeSuccess

type AccessApplicationPolicyUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationPolicyUpdateResponseEnvelopeSuccessTrue AccessApplicationPolicyUpdateResponseEnvelopeSuccess = true
)

func (AccessApplicationPolicyUpdateResponseEnvelopeSuccess) IsKnown

type AccessApplicationRevokeTokensResponse

type AccessApplicationRevokeTokensResponse = interface{}

type AccessApplicationRevokeTokensResponseEnvelope

type AccessApplicationRevokeTokensResponseEnvelope struct {
	Result  AccessApplicationRevokeTokensResponse                `json:"result,nullable"`
	Success AccessApplicationRevokeTokensResponseEnvelopeSuccess `json:"success"`
	JSON    accessApplicationRevokeTokensResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationRevokeTokensResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationRevokeTokensResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationRevokeTokensResponseEnvelopeSuccess

type AccessApplicationRevokeTokensResponseEnvelopeSuccess bool
const (
	AccessApplicationRevokeTokensResponseEnvelopeSuccessTrue  AccessApplicationRevokeTokensResponseEnvelopeSuccess = true
	AccessApplicationRevokeTokensResponseEnvelopeSuccessFalse AccessApplicationRevokeTokensResponseEnvelopeSuccess = false
)

func (AccessApplicationRevokeTokensResponseEnvelopeSuccess) IsKnown

type AccessApplicationService

type AccessApplicationService struct {
	Options          []option.RequestOption
	CAs              *AccessApplicationCAService
	UserPolicyChecks *AccessApplicationUserPolicyCheckService
	Policies         *AccessApplicationPolicyService
}

AccessApplicationService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessApplicationService method instead.

func NewAccessApplicationService

func NewAccessApplicationService(opts ...option.RequestOption) (r *AccessApplicationService)

NewAccessApplicationService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessApplicationService) Delete

func (r *AccessApplicationService) Delete(ctx context.Context, accountOrZone string, accountOrZoneID string, appID AppIDParam, opts ...option.RequestOption) (res *AccessApplicationDeleteResponse, err error)

Deletes an application from Access.

func (*AccessApplicationService) Get

func (r *AccessApplicationService) Get(ctx context.Context, accountOrZone string, accountOrZoneID string, appID AppIDParam, opts ...option.RequestOption) (res *AccessApplicationGetResponse, err error)

Fetches information about an Access application.

func (*AccessApplicationService) List

func (r *AccessApplicationService) List(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) (res *pagination.SinglePage[AccessApplicationListResponse], err error)

Lists all Access applications in an account or zone.

func (*AccessApplicationService) ListAutoPaging

Lists all Access applications in an account or zone.

func (*AccessApplicationService) New

func (r *AccessApplicationService) New(ctx context.Context, accountOrZone string, accountOrZoneID string, body AccessApplicationNewParams, opts ...option.RequestOption) (res *AccessApplicationNewResponse, err error)

Adds a new application to Access.

func (*AccessApplicationService) RevokeTokens

func (r *AccessApplicationService) RevokeTokens(ctx context.Context, accountOrZone string, accountOrZoneID string, appID AppIDParam, opts ...option.RequestOption) (res *AccessApplicationRevokeTokensResponse, err error)

Revokes all tokens issued for an application.

func (*AccessApplicationService) Update

func (r *AccessApplicationService) Update(ctx context.Context, accountOrZone string, accountOrZoneID string, appID AppIDParam, body AccessApplicationUpdateParams, opts ...option.RequestOption) (res *AccessApplicationUpdateResponse, err error)

Updates an Access application.

type AccessApplicationUpdateParams

type AccessApplicationUpdateParams struct {
	Body AccessApplicationUpdateParamsBodyUnion `json:"body,required"`
}

func (AccessApplicationUpdateParams) MarshalJSON

func (r AccessApplicationUpdateParams) MarshalJSON() (data []byte, err error)

type AccessApplicationUpdateParamsBody

type AccessApplicationUpdateParamsBody struct {
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP param.Field[bool]        `json:"allow_authenticate_via_warp"`
	AllowedIdPs              param.Field[interface{}] `json:"allowed_idps,required"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool]             `json:"auto_redirect_to_identity"`
	CORSHeaders            param.Field[CORSHeadersParam] `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage param.Field[string] `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL param.Field[string] `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL param.Field[string]      `json:"custom_non_identity_deny_url"`
	CustomPages              param.Field[interface{}] `json:"custom_pages,required"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain param.Field[string] `json:"domain"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie param.Field[bool] `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute param.Field[bool] `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass param.Field[bool] `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute param.Field[bool] `json:"path_cookie_attribute"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute param.Field[string]      `json:"same_site_cookie_attribute"`
	SelfHostedDomains       param.Field[interface{}] `json:"self_hosted_domains,required"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect param.Field[bool] `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial param.Field[bool]        `json:"skip_interstitial"`
	Tags             param.Field[interface{}] `json:"tags,required"`
	// The application type.
	Type       param.Field[string]      `json:"type"`
	Policies   param.Field[interface{}] `json:"policies,required"`
	SCIMConfig param.Field[interface{}] `json:"scim_config,required"`
	SaaSApp    param.Field[interface{}] `json:"saas_app,required"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL param.Field[string] `json:"app_launcher_logo_url"`
	// The background color of the App Launcher page.
	BgColor     param.Field[string]      `json:"bg_color"`
	FooterLinks param.Field[interface{}] `json:"footer_links,required"`
	// The background color of the App Launcher header.
	HeaderBgColor     param.Field[string]      `json:"header_bg_color"`
	LandingPageDesign param.Field[interface{}] `json:"landing_page_design,required"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage param.Field[bool] `json:"skip_app_launcher_login_page"`
}

func (AccessApplicationUpdateParamsBody) MarshalJSON

func (r AccessApplicationUpdateParamsBody) MarshalJSON() (data []byte, err error)

type AccessApplicationUpdateParamsBodyAppLauncherApplication

type AccessApplicationUpdateParamsBodyAppLauncherApplication struct {
	// The application type.
	Type param.Field[ApplicationType] `json:"type,required"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL param.Field[string] `json:"app_launcher_logo_url"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor param.Field[string] `json:"bg_color"`
	// The links in the App Launcher footer.
	FooterLinks param.Field[[]AccessApplicationUpdateParamsBodyAppLauncherApplicationFooterLink] `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor param.Field[string] `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign param.Field[AccessApplicationUpdateParamsBodyAppLauncherApplicationLandingPageDesign] `json:"landing_page_design"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion] `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfig] `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage param.Field[bool] `json:"skip_app_launcher_login_page"`
}

func (AccessApplicationUpdateParamsBodyAppLauncherApplication) MarshalJSON

type AccessApplicationUpdateParamsBodyAppLauncherApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name param.Field[string] `json:"name,required"`
	// the hyperlink in the footer link.
	URL param.Field[string] `json:"url,required"`
}

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationFooterLink) MarshalJSON

type AccessApplicationUpdateParamsBodyAppLauncherApplicationLandingPageDesign

type AccessApplicationUpdateParamsBodyAppLauncherApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor param.Field[string] `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor param.Field[string] `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL param.Field[string] `json:"image_url"`
	// The message shown on the landing page.
	Message param.Field[string] `json:"message"`
	// The title shown on the landing page.
	Title param.Field[string] `json:"title"`
}

The design of the App Launcher landing page shown to users when they log in.

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationLandingPageDesign) MarshalJSON

type AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesObject

type AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesObject) MarshalJSON

type AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicy

type AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicy) MarshalJSON

type AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion

type AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationUpdateParamsBodyAppLauncherApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationUpdateParamsBodyAppLauncherApplicationPoliciesObject, AccessApplicationUpdateParamsBodyAppLauncherApplicationPolicy.

type AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfig

type AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfig) MarshalJSON

type AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthentication

type AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationUpdateParamsBodyAppLauncherApplicationSCIMConfigAuthentication.

type AccessApplicationUpdateParamsBodyBookmarkApplication

type AccessApplicationUpdateParamsBodyBookmarkApplication struct {
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// The URL or domain of the bookmark.
	Domain param.Field[string] `json:"domain"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfig] `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
	// The application type.
	Type param.Field[string] `json:"type"`
}

func (AccessApplicationUpdateParamsBodyBookmarkApplication) MarshalJSON

func (r AccessApplicationUpdateParamsBodyBookmarkApplication) MarshalJSON() (data []byte, err error)

type AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfig

type AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfig) MarshalJSON

type AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthentication

type AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationUpdateParamsBodyBookmarkApplicationSCIMConfigAuthentication.

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplication

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplication struct {
	// The application type.
	Type param.Field[ApplicationType] `json:"type,required"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL param.Field[string] `json:"app_launcher_logo_url"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor param.Field[string] `json:"bg_color"`
	// The links in the App Launcher footer.
	FooterLinks param.Field[[]AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationFooterLink] `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor param.Field[string] `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign param.Field[AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationLandingPageDesign] `json:"landing_page_design"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion] `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfig] `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage param.Field[bool] `json:"skip_app_launcher_login_page"`
}

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplication) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name param.Field[string] `json:"name,required"`
	// the hyperlink in the footer link.
	URL param.Field[string] `json:"url,required"`
}

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationFooterLink) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationLandingPageDesign

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor param.Field[string] `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor param.Field[string] `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL param.Field[string] `json:"image_url"`
	// The message shown on the landing page.
	Message param.Field[string] `json:"message"`
	// The title shown on the landing page.
	Title param.Field[string] `json:"title"`
}

The design of the App Launcher landing page shown to users when they log in.

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationLandingPageDesign) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicy

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicy) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPoliciesObject, AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationPolicy.

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfig

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfig) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationUpdateParamsBodyBrowserIsolationPermissionsApplicationSCIMConfigAuthentication.

type AccessApplicationUpdateParamsBodyBrowserSSHApplication

type AccessApplicationUpdateParamsBodyBrowserSSHApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain param.Field[string] `json:"domain,required"`
	// The application type.
	Type param.Field[string] `json:"type,required"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP param.Field[bool] `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool]             `json:"auto_redirect_to_identity"`
	CORSHeaders            param.Field[CORSHeadersParam] `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage param.Field[string] `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL param.Field[string] `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL param.Field[string] `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages param.Field[[]string] `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie param.Field[bool] `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute param.Field[bool] `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass param.Field[bool] `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute param.Field[bool] `json:"path_cookie_attribute"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion] `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute param.Field[string] `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfig] `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains param.Field[[]SelfHostedDomainsParam] `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect param.Field[bool] `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial param.Field[bool] `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
}

func (AccessApplicationUpdateParamsBodyBrowserSSHApplication) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesObject

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesObject) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicy

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicy) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationUpdateParamsBodyBrowserSSHApplicationPoliciesObject, AccessApplicationUpdateParamsBodyBrowserSSHApplicationPolicy.

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfig

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfig) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthentication

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationUpdateParamsBodyBrowserSSHApplicationSCIMConfigAuthentication.

type AccessApplicationUpdateParamsBodyBrowserVNCApplication

type AccessApplicationUpdateParamsBodyBrowserVNCApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain param.Field[string] `json:"domain,required"`
	// The application type.
	Type param.Field[string] `json:"type,required"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP param.Field[bool] `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool]             `json:"auto_redirect_to_identity"`
	CORSHeaders            param.Field[CORSHeadersParam] `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage param.Field[string] `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL param.Field[string] `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL param.Field[string] `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages param.Field[[]string] `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie param.Field[bool] `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute param.Field[bool] `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass param.Field[bool] `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute param.Field[bool] `json:"path_cookie_attribute"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion] `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute param.Field[string] `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfig] `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains param.Field[[]SelfHostedDomainsParam] `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect param.Field[bool] `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial param.Field[bool] `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
}

func (AccessApplicationUpdateParamsBodyBrowserVNCApplication) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesObject

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesObject) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicy

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicy) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationUpdateParamsBodyBrowserVNCApplicationPoliciesObject, AccessApplicationUpdateParamsBodyBrowserVNCApplicationPolicy.

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfig

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfig) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthentication

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationUpdateParamsBodyBrowserVNCApplicationSCIMConfigAuthentication.

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplication

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplication struct {
	// The application type.
	Type param.Field[ApplicationType] `json:"type,required"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL param.Field[string] `json:"app_launcher_logo_url"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor param.Field[string] `json:"bg_color"`
	// The links in the App Launcher footer.
	FooterLinks param.Field[[]AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationFooterLink] `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor param.Field[string] `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign param.Field[AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationLandingPageDesign] `json:"landing_page_design"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion] `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfig] `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage param.Field[bool] `json:"skip_app_launcher_login_page"`
}

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplication) MarshalJSON

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name param.Field[string] `json:"name,required"`
	// the hyperlink in the footer link.
	URL param.Field[string] `json:"url,required"`
}

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationFooterLink) MarshalJSON

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationLandingPageDesign

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor param.Field[string] `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor param.Field[string] `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL param.Field[string] `json:"image_url"`
	// The message shown on the landing page.
	Message param.Field[string] `json:"message"`
	// The title shown on the landing page.
	Title param.Field[string] `json:"title"`
}

The design of the App Launcher landing page shown to users when they log in.

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationLandingPageDesign) MarshalJSON

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject) MarshalJSON

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicy

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicy) MarshalJSON

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPoliciesObject, AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationPolicy.

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfig

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfig) MarshalJSON

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationUpdateParamsBodyDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication.

type AccessApplicationUpdateParamsBodySaaSApplication

type AccessApplicationUpdateParamsBodySaaSApplication struct {
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages param.Field[[]string] `json:"custom_pages"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion] `json:"policies"`
	SaaSApp  param.Field[AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppUnion]  `json:"saas_app"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfig] `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
	// The application type.
	Type param.Field[string] `json:"type"`
}

func (AccessApplicationUpdateParamsBodySaaSApplication) MarshalJSON

func (r AccessApplicationUpdateParamsBodySaaSApplication) MarshalJSON() (data []byte, err error)
type AccessApplicationUpdateParamsBodySaaSApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodySaaSApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodySaaSApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodySaaSApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationUpdateParamsBodySaaSApplicationPoliciesObject

type AccessApplicationUpdateParamsBodySaaSApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationUpdateParamsBodySaaSApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodySaaSApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodySaaSApplicationPoliciesObject) MarshalJSON

type AccessApplicationUpdateParamsBodySaaSApplicationPolicy

type AccessApplicationUpdateParamsBodySaaSApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodySaaSApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodySaaSApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodySaaSApplicationPolicy) MarshalJSON

type AccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion

type AccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationUpdateParamsBodySaaSApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationUpdateParamsBodySaaSApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationUpdateParamsBodySaaSApplicationPoliciesObject, AccessApplicationUpdateParamsBodySaaSApplicationPolicy.

type AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfig

type AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfig) MarshalJSON

type AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthentication

type AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationUpdateParamsBodySaaSApplicationSCIMConfigAuthentication.

type AccessApplicationUpdateParamsBodySaaSApplicationSaaSApp

type AccessApplicationUpdateParamsBodySaaSApplicationSaaSApp struct {
	// Optional identifier indicating the authentication protocol used for the saas
	// app. Required for OIDC. Default if unset is "saml"
	AuthType param.Field[AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppAuthType] `json:"auth_type"`
	// The service provider's endpoint that is responsible for receiving and parsing a
	// SAML assertion.
	ConsumerServiceURL param.Field[string]      `json:"consumer_service_url"`
	CustomAttributes   param.Field[interface{}] `json:"custom_attributes,required"`
	// The URL that the user will be redirected to after a successful login for IDP
	// initiated logins.
	DefaultRelayState param.Field[string] `json:"default_relay_state"`
	// The unique identifier for your SaaS application.
	IdPEntityID param.Field[string] `json:"idp_entity_id"`
	// The format of the name identifier sent to the SaaS application.
	NameIDFormat param.Field[SaaSAppNameIDFormat] `json:"name_id_format"`
	// A [JSONata](https://jsonata.org/) expression that transforms an application's
	// user identities into a NameID value for its SAML assertion. This expression
	// should evaluate to a singular string. The output of this expression can override
	// the `name_id_format` setting.
	NameIDTransformJsonata param.Field[string] `json:"name_id_transform_jsonata"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey param.Field[string] `json:"public_key"`
	// A [JSONata] (https://jsonata.org/) expression that transforms an application's
	// user identities into attribute assertions in the SAML response. The expression
	// can transform id, email, name, and groups values. It can also transform fields
	// listed in the saml_attributes or oidc_fields of the identity provider used to
	// authenticate. The output of this expression must be a JSON object.
	SAMLAttributeTransformJsonata param.Field[string] `json:"saml_attribute_transform_jsonata"`
	// A globally unique name for an identity or service provider.
	SPEntityID param.Field[string] `json:"sp_entity_id"`
	// The endpoint where your SaaS application will send login requests.
	SSOEndpoint param.Field[string] `json:"sso_endpoint"`
	// The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must
	// be greater than or equal to 1m and less than or equal to 24h.
	AccessTokenLifetime param.Field[string] `json:"access_token_lifetime"`
	// If client secret should be required on the token endpoint when
	// authorization_code_with_pkce grant is used.
	AllowPKCEWithoutClientSecret param.Field[bool] `json:"allow_pkce_without_client_secret"`
	// The URL where this applications tile redirects users
	AppLauncherURL param.Field[string] `json:"app_launcher_url"`
	// The application client id
	ClientID param.Field[string] `json:"client_id"`
	// The application client secret, only returned on POST request.
	ClientSecret param.Field[string]      `json:"client_secret"`
	CustomClaims param.Field[interface{}] `json:"custom_claims,required"`
	GrantTypes   param.Field[interface{}] `json:"grant_types,required"`
	// A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
	GroupFilterRegex         param.Field[string]      `json:"group_filter_regex"`
	HybridAndImplicitOptions param.Field[interface{}] `json:"hybrid_and_implicit_options,required"`
	RedirectURIs             param.Field[interface{}] `json:"redirect_uris,required"`
	RefreshTokenOptions      param.Field[interface{}] `json:"refresh_token_options,required"`
	Scopes                   param.Field[interface{}] `json:"scopes,required"`
}

func (AccessApplicationUpdateParamsBodySaaSApplicationSaaSApp) MarshalJSON

type AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppAuthType

type AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppAuthType string

Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"

const (
	AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppAuthTypeSAML AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppAuthType = "saml"
	AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppAuthTypeOIDC AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppAuthType = "oidc"
)

func (AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppAuthType) IsKnown

type AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppUnion

type AccessApplicationUpdateParamsBodySaaSApplicationSaaSAppUnion interface {
	// contains filtered or unexported methods
}

Satisfied by zero_trust.SAMLSaaSAppParam, zero_trust.OIDCSaaSAppParam, AccessApplicationUpdateParamsBodySaaSApplicationSaaSApp.

type AccessApplicationUpdateParamsBodySelfHostedApplication

type AccessApplicationUpdateParamsBodySelfHostedApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain param.Field[string] `json:"domain,required"`
	// The application type.
	Type param.Field[string] `json:"type,required"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP param.Field[bool] `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs param.Field[[]AllowedIdPsParam] `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible param.Field[bool] `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity param.Field[bool]             `json:"auto_redirect_to_identity"`
	CORSHeaders            param.Field[CORSHeadersParam] `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage param.Field[string] `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL param.Field[string] `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL param.Field[string] `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages param.Field[[]string] `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie param.Field[bool] `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute param.Field[bool] `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL param.Field[string] `json:"logo_url"`
	// The name of the application.
	Name param.Field[string] `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass param.Field[bool] `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute param.Field[bool] `json:"path_cookie_attribute"`
	// The policies that will apply to the application, in ascending order of
	// precedence. Items can reference existing policies or create new policies
	// exclusive to the application.
	Policies param.Field[[]AccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion] `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute param.Field[string] `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig param.Field[AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfig] `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains param.Field[[]SelfHostedDomainsParam] `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect param.Field[bool] `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial param.Field[bool] `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags param.Field[[]string] `json:"tags"`
}

func (AccessApplicationUpdateParamsBodySelfHostedApplication) MarshalJSON

type AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink) ImplementsZeroTrustAccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink) MarshalJSON

type AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesObject

type AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesObject struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence param.Field[int64] `json:"precedence"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesObject) ImplementsZeroTrustAccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesObject) MarshalJSON

type AccessApplicationUpdateParamsBodySelfHostedApplicationPolicy

type AccessApplicationUpdateParamsBodySelfHostedApplicationPolicy struct {
	// The UUID of the policy
	ID param.Field[string] `json:"id"`
	// The order of execution for this policy. Must be unique for each policy within an
	// app.
	Precedence     param.Field[int64]       `json:"precedence"`
	ApprovalGroups param.Field[interface{}] `json:"approval_groups,required"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision]    `json:"decision"`
	Exclude  param.Field[interface{}] `json:"exclude,required"`
	Include  param.Field[interface{}] `json:"include,required"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool]        `json:"purpose_justification_required"`
	Require                      param.Field[interface{}] `json:"require,required"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

A JSON that links a reusable policy to an application.

func (AccessApplicationUpdateParamsBodySelfHostedApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion

func (r AccessApplicationUpdateParamsBodySelfHostedApplicationPolicy) ImplementsZeroTrustAccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion()

func (AccessApplicationUpdateParamsBodySelfHostedApplicationPolicy) MarshalJSON

type AccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion

type AccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion interface {
	ImplementsZeroTrustAccessApplicationUpdateParamsBodySelfHostedApplicationPolicyUnion()
}

A JSON that links a reusable policy to an application.

Satisfied by zero_trust.AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesAccessAppPolicyLink, shared.UnionString, zero_trust.AccessApplicationUpdateParamsBodySelfHostedApplicationPoliciesObject, AccessApplicationUpdateParamsBodySelfHostedApplicationPolicy.

type AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfig

type AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID param.Field[string] `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI param.Field[string] `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication param.Field[AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationUnion] `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete param.Field[bool] `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings param.Field[[]SCIMConfigMappingParam] `json:"mappings"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfig) MarshalJSON

type AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthentication

type AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string]      `json:"client_secret"`
	Scopes       param.Field[interface{}] `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthentication) MarshalJSON

type AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasicParam, zero_trust.SCIMConfigAuthenticationOAuthBearerTokenParam, zero_trust.SCIMConfigAuthenticationOauth2Param, AccessApplicationUpdateParamsBodySelfHostedApplicationSCIMConfigAuthentication.

type AccessApplicationUpdateResponse

type AccessApplicationUpdateResponse struct {
	// Audience tag.
	AUD       string    `json:"aud"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// UUID
	ID string `json:"id"`
	// This field can have the runtime type of
	// [AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfig],
	// [AccessApplicationUpdateResponseSaaSApplicationSCIMConfig],
	// [AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfig],
	// [AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfig],
	// [AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfig],
	// [AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfig],
	// [AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfig],
	// [AccessApplicationUpdateResponseBookmarkApplicationSCIMConfig].
	SCIMConfig interface{} `json:"scim_config,required"`
	UpdatedAt  time.Time   `json:"updated_at" format:"date-time"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// This field can have the runtime type of [[]AllowedIdPs].
	AllowedIdPs interface{} `json:"allowed_idps,required"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// This field can have the runtime type of [[]string].
	CustomPages interface{} `json:"custom_pages,required"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool `json:"path_cookie_attribute"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// This field can have the runtime type of [[]SelfHostedDomains].
	SelfHostedDomains interface{} `json:"self_hosted_domains,required"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// This field can have the runtime type of [[]string].
	Tags interface{} `json:"tags,required"`
	// The application type.
	Type string `json:"type"`
	// This field can have the runtime type of [[]ApplicationPolicy].
	Policies interface{} `json:"policies,required"`
	// This field can have the runtime type of
	// [AccessApplicationUpdateResponseSaaSApplicationSaaSApp].
	SaaSApp interface{} `json:"saas_app,required"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// The background color of the App Launcher page.
	BgColor string `json:"bg_color"`
	// This field can have the runtime type of
	// [[]AccessApplicationUpdateResponseAppLauncherApplicationFooterLink],
	// [[]AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationFooterLink],
	// [[]AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationFooterLink].
	FooterLinks interface{} `json:"footer_links,required"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// This field can have the runtime type of
	// [AccessApplicationUpdateResponseAppLauncherApplicationLandingPageDesign],
	// [AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign],
	// [AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationLandingPageDesign].
	LandingPageDesign interface{} `json:"landing_page_design,required"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                `json:"skip_app_launcher_login_page"`
	JSON                     accessApplicationUpdateResponseJSON `json:"-"`
	// contains filtered or unexported fields
}

func (*AccessApplicationUpdateResponse) UnmarshalJSON

func (r *AccessApplicationUpdateResponse) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUpdateResponseAppLauncherApplication

type AccessApplicationUpdateResponseAppLauncherApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationUpdateResponseAppLauncherApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationUpdateResponseAppLauncherApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                      `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                 `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationUpdateResponseAppLauncherApplicationJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseAppLauncherApplication) UnmarshalJSON

func (r *AccessApplicationUpdateResponseAppLauncherApplication) UnmarshalJSON(data []byte) (err error)
type AccessApplicationUpdateResponseAppLauncherApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                              `json:"url,required"`
	JSON accessApplicationUpdateResponseAppLauncherApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseAppLauncherApplicationFooterLink) UnmarshalJSON

type AccessApplicationUpdateResponseAppLauncherApplicationLandingPageDesign

type AccessApplicationUpdateResponseAppLauncherApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                     `json:"title"`
	JSON  accessApplicationUpdateResponseAppLauncherApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationUpdateResponseAppLauncherApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfig

type AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                 `json:"mappings"`
	JSON     accessApplicationUpdateResponseAppLauncherApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthentication

type AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                            `json:"token_url"`
	JSON     accessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateResponseAppLauncherApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationUpdateResponseBookmarkApplication

type AccessApplicationUpdateResponseBookmarkApplication struct {
	// UUID
	ID string `json:"id"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD       string    `json:"aud"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The URL or domain of the bookmark.
	Domain string `json:"domain"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationUpdateResponseBookmarkApplicationSCIMConfig `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags []string `json:"tags"`
	// The application type.
	Type      string                                                 `json:"type"`
	UpdatedAt time.Time                                              `json:"updated_at" format:"date-time"`
	JSON      accessApplicationUpdateResponseBookmarkApplicationJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseBookmarkApplication) UnmarshalJSON

func (r *AccessApplicationUpdateResponseBookmarkApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUpdateResponseBookmarkApplicationSCIMConfig

type AccessApplicationUpdateResponseBookmarkApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                              `json:"mappings"`
	JSON     accessApplicationUpdateResponseBookmarkApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationUpdateResponseBookmarkApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthentication

type AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                         `json:"token_url"`
	JSON     accessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateResponseBookmarkApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplication

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                                      `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                                 `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationUpdateResponseBrowserIsolationPermissionsApplicationJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseBrowserIsolationPermissionsApplication) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                                              `json:"url,required"`
	JSON accessApplicationUpdateResponseBrowserIsolationPermissionsApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationFooterLink) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationLandingPageDesign

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                                     `json:"title"`
	JSON  accessApplicationUpdateResponseBrowserIsolationPermissionsApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfig

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                                 `json:"mappings"`
	JSON     accessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                                            `json:"token_url"`
	JSON     accessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateResponseBrowserIsolationPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationUpdateResponseBrowserSSHApplication

type AccessApplicationUpdateResponseBrowserSSHApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                                 `json:"tags"`
	UpdatedAt time.Time                                                `json:"updated_at" format:"date-time"`
	JSON      accessApplicationUpdateResponseBrowserSSHApplicationJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseBrowserSSHApplication) UnmarshalJSON

func (r *AccessApplicationUpdateResponseBrowserSSHApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfig

type AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                `json:"mappings"`
	JSON     accessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthentication

type AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                           `json:"token_url"`
	JSON     accessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateResponseBrowserSSHApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationUpdateResponseBrowserVNCApplication

type AccessApplicationUpdateResponseBrowserVNCApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                                 `json:"tags"`
	UpdatedAt time.Time                                                `json:"updated_at" format:"date-time"`
	JSON      accessApplicationUpdateResponseBrowserVNCApplicationJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseBrowserVNCApplication) UnmarshalJSON

func (r *AccessApplicationUpdateResponseBrowserVNCApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfig

type AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                `json:"mappings"`
	JSON     accessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthentication

type AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                           `json:"token_url"`
	JSON     accessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateResponseBrowserVNCApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplication

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplication struct {
	// The application type.
	Type ApplicationType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// The image URL of the logo shown in the App Launcher header.
	AppLauncherLogoURL string `json:"app_launcher_logo_url"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool `json:"auto_redirect_to_identity"`
	// The background color of the App Launcher page.
	BgColor   string    `json:"bg_color"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain"`
	// The links in the App Launcher footer.
	FooterLinks []AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationFooterLink `json:"footer_links"`
	// The background color of the App Launcher header.
	HeaderBgColor string `json:"header_bg_color"`
	// The design of the App Launcher landing page shown to users when they log in.
	LandingPageDesign AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign `json:"landing_page_design"`
	// The name of the application.
	Name     string              `json:"name"`
	Policies []ApplicationPolicy `json:"policies"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfig `json:"scim_config"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Determines when to skip the App Launcher landing page.
	SkipAppLauncherLoginPage bool                                                                      `json:"skip_app_launcher_login_page"`
	UpdatedAt                time.Time                                                                 `json:"updated_at" format:"date-time"`
	JSON                     accessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplication) UnmarshalJSON

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationFooterLink struct {
	// The hypertext in the footer link.
	Name string `json:"name,required"`
	// the hyperlink in the footer link.
	URL  string                                                                              `json:"url,required"`
	JSON accessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationFooterLinkJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationFooterLink) UnmarshalJSON

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign struct {
	// The background color of the log in button on the landing page.
	ButtonColor string `json:"button_color"`
	// The color of the text in the log in button on the landing page.
	ButtonTextColor string `json:"button_text_color"`
	// The URL of the image shown on the landing page.
	ImageURL string `json:"image_url"`
	// The message shown on the landing page.
	Message string `json:"message"`
	// The title shown on the landing page.
	Title string                                                                                     `json:"title"`
	JSON  accessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationLandingPageDesignJSON `json:"-"`
}

The design of the App Launcher landing page shown to users when they log in.

func (*AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationLandingPageDesign) UnmarshalJSON

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfig

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                                 `json:"mappings"`
	JSON     accessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                                            `json:"token_url"`
	JSON     accessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateResponseDeviceEnrollmentPermissionsApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationUpdateResponseEnvelope

type AccessApplicationUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationUpdateResponse                `json:"result"`
	JSON    accessApplicationUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUpdateResponseEnvelopeSuccess

type AccessApplicationUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationUpdateResponseEnvelopeSuccessTrue AccessApplicationUpdateResponseEnvelopeSuccess = true
)

func (AccessApplicationUpdateResponseEnvelopeSuccess) IsKnown

type AccessApplicationUpdateResponseSaaSApplication

type AccessApplicationUpdateResponseSaaSApplication struct {
	// UUID
	ID string `json:"id"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool      `json:"auto_redirect_to_identity"`
	CreatedAt              time.Time `json:"created_at" format:"date-time"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name     string                                                `json:"name"`
	Policies []ApplicationPolicy                                   `json:"policies"`
	SaaSApp  AccessApplicationUpdateResponseSaaSApplicationSaaSApp `json:"saas_app"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationUpdateResponseSaaSApplicationSCIMConfig `json:"scim_config"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags []string `json:"tags"`
	// The application type.
	Type      string                                             `json:"type"`
	UpdatedAt time.Time                                          `json:"updated_at" format:"date-time"`
	JSON      accessApplicationUpdateResponseSaaSApplicationJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseSaaSApplication) UnmarshalJSON

func (r *AccessApplicationUpdateResponseSaaSApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUpdateResponseSaaSApplicationSCIMConfig

type AccessApplicationUpdateResponseSaaSApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                          `json:"mappings"`
	JSON     accessApplicationUpdateResponseSaaSApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationUpdateResponseSaaSApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthentication

type AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                     `json:"token_url"`
	JSON     accessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateResponseSaaSApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationUpdateResponseSaaSApplicationSaaSApp

type AccessApplicationUpdateResponseSaaSApplicationSaaSApp struct {
	// Optional identifier indicating the authentication protocol used for the saas
	// app. Required for OIDC. Default if unset is "saml"
	AuthType AccessApplicationUpdateResponseSaaSApplicationSaaSAppAuthType `json:"auth_type"`
	// The service provider's endpoint that is responsible for receiving and parsing a
	// SAML assertion.
	ConsumerServiceURL string    `json:"consumer_service_url"`
	CreatedAt          time.Time `json:"created_at" format:"date-time"`
	// This field can have the runtime type of [SAMLSaaSAppCustomAttributes].
	CustomAttributes interface{} `json:"custom_attributes,required"`
	// The URL that the user will be redirected to after a successful login for IDP
	// initiated logins.
	DefaultRelayState string `json:"default_relay_state"`
	// The unique identifier for your SaaS application.
	IdPEntityID string `json:"idp_entity_id"`
	// The format of the name identifier sent to the SaaS application.
	NameIDFormat SaaSAppNameIDFormat `json:"name_id_format"`
	// A [JSONata](https://jsonata.org/) expression that transforms an application's
	// user identities into a NameID value for its SAML assertion. This expression
	// should evaluate to a singular string. The output of this expression can override
	// the `name_id_format` setting.
	NameIDTransformJsonata string `json:"name_id_transform_jsonata"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey string `json:"public_key"`
	// A [JSONata] (https://jsonata.org/) expression that transforms an application's
	// user identities into attribute assertions in the SAML response. The expression
	// can transform id, email, name, and groups values. It can also transform fields
	// listed in the saml_attributes or oidc_fields of the identity provider used to
	// authenticate. The output of this expression must be a JSON object.
	SAMLAttributeTransformJsonata string `json:"saml_attribute_transform_jsonata"`
	// A globally unique name for an identity or service provider.
	SPEntityID string `json:"sp_entity_id"`
	// The endpoint where your SaaS application will send login requests.
	SSOEndpoint string    `json:"sso_endpoint"`
	UpdatedAt   time.Time `json:"updated_at" format:"date-time"`
	// The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must
	// be greater than or equal to 1m and less than or equal to 24h.
	AccessTokenLifetime string `json:"access_token_lifetime"`
	// If client secret should be required on the token endpoint when
	// authorization_code_with_pkce grant is used.
	AllowPKCEWithoutClientSecret bool `json:"allow_pkce_without_client_secret"`
	// The URL where this applications tile redirects users
	AppLauncherURL string `json:"app_launcher_url"`
	// The application client id
	ClientID string `json:"client_id"`
	// The application client secret, only returned on POST request.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [OIDCSaaSAppCustomClaims].
	CustomClaims interface{} `json:"custom_claims,required"`
	// This field can have the runtime type of [[]OIDCSaaSAppGrantType].
	GrantTypes interface{} `json:"grant_types,required"`
	// A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
	GroupFilterRegex string `json:"group_filter_regex"`
	// This field can have the runtime type of [OIDCSaaSAppHybridAndImplicitOptions].
	HybridAndImplicitOptions interface{} `json:"hybrid_and_implicit_options,required"`
	// This field can have the runtime type of [[]string].
	RedirectURIs interface{} `json:"redirect_uris,required"`
	// This field can have the runtime type of [OIDCSaaSAppRefreshTokenOptions].
	RefreshTokenOptions interface{} `json:"refresh_token_options,required"`
	// This field can have the runtime type of [[]OIDCSaaSAppScope].
	Scopes interface{}                                               `json:"scopes,required"`
	JSON   accessApplicationUpdateResponseSaaSApplicationSaaSAppJSON `json:"-"`
	// contains filtered or unexported fields
}

func (AccessApplicationUpdateResponseSaaSApplicationSaaSApp) AsUnion

AsUnion returns a AccessApplicationUpdateResponseSaaSApplicationSaaSAppUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are zero_trust.SAMLSaaSApp, zero_trust.OIDCSaaSApp.

func (*AccessApplicationUpdateResponseSaaSApplicationSaaSApp) UnmarshalJSON

func (r *AccessApplicationUpdateResponseSaaSApplicationSaaSApp) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUpdateResponseSaaSApplicationSaaSAppAuthType

type AccessApplicationUpdateResponseSaaSApplicationSaaSAppAuthType string

Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"

const (
	AccessApplicationUpdateResponseSaaSApplicationSaaSAppAuthTypeSAML AccessApplicationUpdateResponseSaaSApplicationSaaSAppAuthType = "saml"
	AccessApplicationUpdateResponseSaaSApplicationSaaSAppAuthTypeOIDC AccessApplicationUpdateResponseSaaSApplicationSaaSAppAuthType = "oidc"
)

func (AccessApplicationUpdateResponseSaaSApplicationSaaSAppAuthType) IsKnown

type AccessApplicationUpdateResponseSaaSApplicationSaaSAppUnion

type AccessApplicationUpdateResponseSaaSApplicationSaaSAppUnion interface {
	// contains filtered or unexported methods
}

Union satisfied by zero_trust.SAMLSaaSApp or zero_trust.OIDCSaaSApp.

type AccessApplicationUpdateResponseSelfHostedApplication

type AccessApplicationUpdateResponseSelfHostedApplication struct {
	// The primary hostname and path that Access will secure. If the app is visible in
	// the App Launcher dashboard, this is the domain that will be displayed.
	Domain string `json:"domain,required"`
	// The application type.
	Type string `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// When set to true, users can authenticate to this application using their WARP
	// session. When set to false this application will always require direct IdP
	// authentication. This setting always overrides the organization setting for WARP
	// authentication.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The identity providers your users can select when connecting to this
	// application. Defaults to all IdPs configured in your account.
	AllowedIdPs []AllowedIdPs `json:"allowed_idps"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool `json:"app_launcher_visible"`
	// Audience tag.
	AUD string `json:"aud"`
	// When set to `true`, users skip the identity provider selection step during
	// login. You must specify only one identity provider in allowed_idps.
	AutoRedirectToIdentity bool        `json:"auto_redirect_to_identity"`
	CORSHeaders            CORSHeaders `json:"cors_headers"`
	CreatedAt              time.Time   `json:"created_at" format:"date-time"`
	// The custom error message shown to a user when they are denied access to the
	// application.
	CustomDenyMessage string `json:"custom_deny_message"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing identity-based rules.
	CustomDenyURL string `json:"custom_deny_url"`
	// The custom URL a user is redirected to when they are denied access to the
	// application when failing non-identity rules.
	CustomNonIdentityDenyURL string `json:"custom_non_identity_deny_url"`
	// The custom pages that will be displayed when applicable for this application
	CustomPages []string `json:"custom_pages"`
	// Enables the binding cookie, which increases security against compromised
	// authorization tokens and CSRF attacks.
	EnableBindingCookie bool `json:"enable_binding_cookie"`
	// Enables the HttpOnly cookie attribute, which increases security against XSS
	// attacks.
	HTTPOnlyCookieAttribute bool `json:"http_only_cookie_attribute"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the application.
	Name string `json:"name"`
	// Allows options preflight requests to bypass Access authentication and go
	// directly to the origin. Cannot turn on if cors_headers is set.
	OptionsPreflightBypass bool `json:"options_preflight_bypass"`
	// Enables cookie paths to scope an application's JWT to the application path. If
	// disabled, the JWT will scope to the hostname by default
	PathCookieAttribute bool                `json:"path_cookie_attribute"`
	Policies            []ApplicationPolicy `json:"policies"`
	// Sets the SameSite cookie setting, which provides increased security against CSRF
	// attacks.
	SameSiteCookieAttribute string `json:"same_site_cookie_attribute"`
	// Configuration for provisioning to this application via SCIM. This is currently
	// in closed beta.
	SCIMConfig AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfig `json:"scim_config"`
	// List of domains that Access will secure.
	SelfHostedDomains []SelfHostedDomains `json:"self_hosted_domains"`
	// Returns a 401 status code when the request is blocked by a Service Auth policy.
	ServiceAuth401Redirect bool `json:"service_auth_401_redirect"`
	// The amount of time that tokens issued for this application will be valid. Must
	// be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
	// s, m, h.
	SessionDuration string `json:"session_duration"`
	// Enables automatic authentication through cloudflared.
	SkipInterstitial bool `json:"skip_interstitial"`
	// The tags you want assigned to an application. Tags are used to filter
	// applications in the App Launcher dashboard.
	Tags      []string                                                 `json:"tags"`
	UpdatedAt time.Time                                                `json:"updated_at" format:"date-time"`
	JSON      accessApplicationUpdateResponseSelfHostedApplicationJSON `json:"-"`
}

func (*AccessApplicationUpdateResponseSelfHostedApplication) UnmarshalJSON

func (r *AccessApplicationUpdateResponseSelfHostedApplication) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfig

type AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfig struct {
	// The UID of the IdP to use as the source for SCIM resources to provision to this
	// application.
	IdPUID string `json:"idp_uid,required"`
	// The base URI for the application's SCIM-compatible API.
	RemoteURI string `json:"remote_uri,required"`
	// Attributes for configuring HTTP Basic authentication scheme for SCIM
	// provisioning to an application.
	Authentication AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthentication `json:"authentication"`
	// If false, propagates DELETE requests to the target application for SCIM
	// resources. If true, sets 'active' to false on the SCIM resource. Note: Some
	// targets do not support DELETE operations.
	DeactivateOnDelete bool `json:"deactivate_on_delete"`
	// Whether SCIM provisioning is turned on for this application.
	Enabled bool `json:"enabled"`
	// A list of mappings to apply to SCIM resources before provisioning them in this
	// application. These can transform or filter the resources to be provisioned.
	Mappings []SCIMConfigMapping                                                `json:"mappings"`
	JSON     accessApplicationUpdateResponseSelfHostedApplicationSCIMConfigJSON `json:"-"`
}

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

func (*AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfig) UnmarshalJSON

type AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthentication

type AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthentication struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string `json:"user"`
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token"`
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret"`
	// This field can have the runtime type of [[]string].
	Scopes interface{} `json:"scopes,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string                                                                           `json:"token_url"`
	JSON     accessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationJSON `json:"-"`
	// contains filtered or unexported fields
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthentication) UnmarshalJSON

type AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationScheme

type AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeHttpbasic        AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "httpbasic"
	AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeOauthbearertoken AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "oauthbearertoken"
	AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationSchemeOauth2           AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationScheme = "oauth2"
)

func (AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationScheme) IsKnown

type AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationUnion

type AccessApplicationUpdateResponseSelfHostedApplicationSCIMConfigAuthenticationUnion interface {
	// contains filtered or unexported methods
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

Union satisfied by zero_trust.SCIMConfigAuthenticationHTTPBasic, zero_trust.SCIMConfigAuthenticationOAuthBearerToken or zero_trust.SCIMConfigAuthenticationOauth2.

type AccessApplicationUserPolicyCheckListResponse

type AccessApplicationUserPolicyCheckListResponse struct {
	AppState     AccessApplicationUserPolicyCheckListResponseAppState     `json:"app_state"`
	UserIdentity AccessApplicationUserPolicyCheckListResponseUserIdentity `json:"user_identity"`
	JSON         accessApplicationUserPolicyCheckListResponseJSON         `json:"-"`
}

func (*AccessApplicationUserPolicyCheckListResponse) UnmarshalJSON

func (r *AccessApplicationUserPolicyCheckListResponse) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUserPolicyCheckListResponseAppState

type AccessApplicationUserPolicyCheckListResponseAppState struct {
	// UUID
	AppUID   string                                                   `json:"app_uid"`
	AUD      string                                                   `json:"aud"`
	Hostname string                                                   `json:"hostname"`
	Name     string                                                   `json:"name"`
	Policies []interface{}                                            `json:"policies"`
	Status   string                                                   `json:"status"`
	JSON     accessApplicationUserPolicyCheckListResponseAppStateJSON `json:"-"`
}

func (*AccessApplicationUserPolicyCheckListResponseAppState) UnmarshalJSON

func (r *AccessApplicationUserPolicyCheckListResponseAppState) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUserPolicyCheckListResponseEnvelope

type AccessApplicationUserPolicyCheckListResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessApplicationUserPolicyCheckListResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessApplicationUserPolicyCheckListResponse                `json:"result"`
	JSON    accessApplicationUserPolicyCheckListResponseEnvelopeJSON    `json:"-"`
}

func (*AccessApplicationUserPolicyCheckListResponseEnvelope) UnmarshalJSON

func (r *AccessApplicationUserPolicyCheckListResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessApplicationUserPolicyCheckListResponseEnvelopeSuccess

type AccessApplicationUserPolicyCheckListResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessApplicationUserPolicyCheckListResponseEnvelopeSuccessTrue AccessApplicationUserPolicyCheckListResponseEnvelopeSuccess = true
)

func (AccessApplicationUserPolicyCheckListResponseEnvelopeSuccess) IsKnown

type AccessApplicationUserPolicyCheckListResponseUserIdentity

type AccessApplicationUserPolicyCheckListResponseUserIdentity struct {
	ID             string             `json:"id"`
	AccountID      string             `json:"account_id"`
	DeviceSessions interface{}        `json:"device_sessions"`
	Email          string             `json:"email"`
	Geo            UserPolicyCheckGeo `json:"geo"`
	Iat            int64              `json:"iat"`
	IsGateway      bool               `json:"is_gateway"`
	IsWARP         bool               `json:"is_warp"`
	Name           string             `json:"name"`
	// UUID
	UserUUID string                                                       `json:"user_uuid"`
	Version  int64                                                        `json:"version"`
	JSON     accessApplicationUserPolicyCheckListResponseUserIdentityJSON `json:"-"`
}

func (*AccessApplicationUserPolicyCheckListResponseUserIdentity) UnmarshalJSON

type AccessApplicationUserPolicyCheckService

type AccessApplicationUserPolicyCheckService struct {
	Options []option.RequestOption
}

AccessApplicationUserPolicyCheckService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessApplicationUserPolicyCheckService method instead.

func NewAccessApplicationUserPolicyCheckService

func NewAccessApplicationUserPolicyCheckService(opts ...option.RequestOption) (r *AccessApplicationUserPolicyCheckService)

NewAccessApplicationUserPolicyCheckService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessApplicationUserPolicyCheckService) List

Tests if a specific user has permission to access an application.

type AccessBookmarkDeleteResponse

type AccessBookmarkDeleteResponse struct {
	// UUID
	ID   string                           `json:"id"`
	JSON accessBookmarkDeleteResponseJSON `json:"-"`
}

func (*AccessBookmarkDeleteResponse) UnmarshalJSON

func (r *AccessBookmarkDeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessBookmarkDeleteResponseEnvelope

type AccessBookmarkDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessBookmarkDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessBookmarkDeleteResponse                `json:"result"`
	JSON    accessBookmarkDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessBookmarkDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessBookmarkDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessBookmarkDeleteResponseEnvelopeSuccess

type AccessBookmarkDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessBookmarkDeleteResponseEnvelopeSuccessTrue AccessBookmarkDeleteResponseEnvelopeSuccess = true
)

func (AccessBookmarkDeleteResponseEnvelopeSuccess) IsKnown

type AccessBookmarkGetResponseEnvelope

type AccessBookmarkGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessBookmarkGetResponseEnvelopeSuccess `json:"success,required"`
	Result  Bookmark                                 `json:"result"`
	JSON    accessBookmarkGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessBookmarkGetResponseEnvelope) UnmarshalJSON

func (r *AccessBookmarkGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessBookmarkGetResponseEnvelopeSuccess

type AccessBookmarkGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessBookmarkGetResponseEnvelopeSuccessTrue AccessBookmarkGetResponseEnvelopeSuccess = true
)

func (AccessBookmarkGetResponseEnvelopeSuccess) IsKnown

type AccessBookmarkNewParams

type AccessBookmarkNewParams struct {
	Body interface{} `json:"body,required"`
}

func (AccessBookmarkNewParams) MarshalJSON

func (r AccessBookmarkNewParams) MarshalJSON() (data []byte, err error)

type AccessBookmarkNewResponseEnvelope

type AccessBookmarkNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessBookmarkNewResponseEnvelopeSuccess `json:"success,required"`
	Result  Bookmark                                 `json:"result"`
	JSON    accessBookmarkNewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessBookmarkNewResponseEnvelope) UnmarshalJSON

func (r *AccessBookmarkNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessBookmarkNewResponseEnvelopeSuccess

type AccessBookmarkNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessBookmarkNewResponseEnvelopeSuccessTrue AccessBookmarkNewResponseEnvelopeSuccess = true
)

func (AccessBookmarkNewResponseEnvelopeSuccess) IsKnown

type AccessBookmarkService

type AccessBookmarkService struct {
	Options []option.RequestOption
}

AccessBookmarkService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessBookmarkService method instead.

func NewAccessBookmarkService

func NewAccessBookmarkService(opts ...option.RequestOption) (r *AccessBookmarkService)

NewAccessBookmarkService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessBookmarkService) Delete

func (r *AccessBookmarkService) Delete(ctx context.Context, accountID string, bookmarkID string, opts ...option.RequestOption) (res *AccessBookmarkDeleteResponse, err error)

Deletes a Bookmark application.

func (*AccessBookmarkService) Get

func (r *AccessBookmarkService) Get(ctx context.Context, accountID string, bookmarkID string, opts ...option.RequestOption) (res *Bookmark, err error)

Fetches a single Bookmark application.

func (*AccessBookmarkService) List

func (r *AccessBookmarkService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[Bookmark], err error)

Lists Bookmark applications.

func (*AccessBookmarkService) ListAutoPaging

Lists Bookmark applications.

func (*AccessBookmarkService) New

func (r *AccessBookmarkService) New(ctx context.Context, accountID string, bookmarkID string, body AccessBookmarkNewParams, opts ...option.RequestOption) (res *Bookmark, err error)

Create a new Bookmark application.

func (*AccessBookmarkService) Update

func (r *AccessBookmarkService) Update(ctx context.Context, accountID string, bookmarkID string, body AccessBookmarkUpdateParams, opts ...option.RequestOption) (res *Bookmark, err error)

Updates a configured Bookmark application.

type AccessBookmarkUpdateParams

type AccessBookmarkUpdateParams struct {
	Body interface{} `json:"body,required"`
}

func (AccessBookmarkUpdateParams) MarshalJSON

func (r AccessBookmarkUpdateParams) MarshalJSON() (data []byte, err error)

type AccessBookmarkUpdateResponseEnvelope

type AccessBookmarkUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessBookmarkUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  Bookmark                                    `json:"result"`
	JSON    accessBookmarkUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessBookmarkUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessBookmarkUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessBookmarkUpdateResponseEnvelopeSuccess

type AccessBookmarkUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessBookmarkUpdateResponseEnvelopeSuccessTrue AccessBookmarkUpdateResponseEnvelopeSuccess = true
)

func (AccessBookmarkUpdateResponseEnvelopeSuccess) IsKnown

type AccessCertificateDeleteResponse

type AccessCertificateDeleteResponse struct {
	// UUID
	ID   string                              `json:"id"`
	JSON accessCertificateDeleteResponseJSON `json:"-"`
}

func (*AccessCertificateDeleteResponse) UnmarshalJSON

func (r *AccessCertificateDeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessCertificateDeleteResponseEnvelope

type AccessCertificateDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessCertificateDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessCertificateDeleteResponse                `json:"result"`
	JSON    accessCertificateDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessCertificateDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessCertificateDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCertificateDeleteResponseEnvelopeSuccess

type AccessCertificateDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCertificateDeleteResponseEnvelopeSuccessTrue AccessCertificateDeleteResponseEnvelopeSuccess = true
)

func (AccessCertificateDeleteResponseEnvelopeSuccess) IsKnown

type AccessCertificateGetResponseEnvelope

type AccessCertificateGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessCertificateGetResponseEnvelopeSuccess `json:"success,required"`
	Result  Certificate                                 `json:"result"`
	JSON    accessCertificateGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessCertificateGetResponseEnvelope) UnmarshalJSON

func (r *AccessCertificateGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCertificateGetResponseEnvelopeSuccess

type AccessCertificateGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCertificateGetResponseEnvelopeSuccessTrue AccessCertificateGetResponseEnvelopeSuccess = true
)

func (AccessCertificateGetResponseEnvelopeSuccess) IsKnown

type AccessCertificateNewParams

type AccessCertificateNewParams struct {
	// The certificate content.
	Certificate param.Field[string] `json:"certificate,required"`
	// The name of the certificate.
	Name param.Field[string] `json:"name,required"`
	// The hostnames of the applications that will use this certificate.
	AssociatedHostnames param.Field[[]AssociatedHostnamesParam] `json:"associated_hostnames"`
}

func (AccessCertificateNewParams) MarshalJSON

func (r AccessCertificateNewParams) MarshalJSON() (data []byte, err error)

type AccessCertificateNewResponseEnvelope

type AccessCertificateNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessCertificateNewResponseEnvelopeSuccess `json:"success,required"`
	Result  Certificate                                 `json:"result"`
	JSON    accessCertificateNewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessCertificateNewResponseEnvelope) UnmarshalJSON

func (r *AccessCertificateNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCertificateNewResponseEnvelopeSuccess

type AccessCertificateNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCertificateNewResponseEnvelopeSuccessTrue AccessCertificateNewResponseEnvelopeSuccess = true
)

func (AccessCertificateNewResponseEnvelopeSuccess) IsKnown

type AccessCertificateService

type AccessCertificateService struct {
	Options  []option.RequestOption
	Settings *AccessCertificateSettingService
}

AccessCertificateService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessCertificateService method instead.

func NewAccessCertificateService

func NewAccessCertificateService(opts ...option.RequestOption) (r *AccessCertificateService)

NewAccessCertificateService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessCertificateService) Delete

func (r *AccessCertificateService) Delete(ctx context.Context, accountOrZone string, accountOrZoneID string, certificateID string, opts ...option.RequestOption) (res *AccessCertificateDeleteResponse, err error)

Deletes an mTLS certificate.

func (*AccessCertificateService) Get

func (r *AccessCertificateService) Get(ctx context.Context, accountOrZone string, accountOrZoneID string, certificateID string, opts ...option.RequestOption) (res *Certificate, err error)

Fetches a single mTLS certificate.

func (*AccessCertificateService) List

func (r *AccessCertificateService) List(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) (res *pagination.SinglePage[Certificate], err error)

Lists all mTLS root certificates.

func (*AccessCertificateService) ListAutoPaging

func (r *AccessCertificateService) ListAutoPaging(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[Certificate]

Lists all mTLS root certificates.

func (*AccessCertificateService) New

func (r *AccessCertificateService) New(ctx context.Context, accountOrZone string, accountOrZoneID string, body AccessCertificateNewParams, opts ...option.RequestOption) (res *Certificate, err error)

Adds a new mTLS root certificate to Access.

func (*AccessCertificateService) Update

func (r *AccessCertificateService) Update(ctx context.Context, accountOrZone string, accountOrZoneID string, certificateID string, body AccessCertificateUpdateParams, opts ...option.RequestOption) (res *Certificate, err error)

Updates a configured mTLS certificate.

type AccessCertificateSettingGetResponseEnvelope

type AccessCertificateSettingGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success    AccessCertificateSettingGetResponseEnvelopeSuccess    `json:"success,required"`
	Result     []CertificateSettings                                 `json:"result,nullable"`
	ResultInfo AccessCertificateSettingGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       accessCertificateSettingGetResponseEnvelopeJSON       `json:"-"`
}

func (*AccessCertificateSettingGetResponseEnvelope) UnmarshalJSON

func (r *AccessCertificateSettingGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCertificateSettingGetResponseEnvelopeResultInfo

type AccessCertificateSettingGetResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                                   `json:"total_count"`
	JSON       accessCertificateSettingGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*AccessCertificateSettingGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *AccessCertificateSettingGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type AccessCertificateSettingGetResponseEnvelopeSuccess

type AccessCertificateSettingGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCertificateSettingGetResponseEnvelopeSuccessTrue AccessCertificateSettingGetResponseEnvelopeSuccess = true
)

func (AccessCertificateSettingGetResponseEnvelopeSuccess) IsKnown

type AccessCertificateSettingService

type AccessCertificateSettingService struct {
	Options []option.RequestOption
}

AccessCertificateSettingService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessCertificateSettingService method instead.

func NewAccessCertificateSettingService

func NewAccessCertificateSettingService(opts ...option.RequestOption) (r *AccessCertificateSettingService)

NewAccessCertificateSettingService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessCertificateSettingService) Get

func (r *AccessCertificateSettingService) Get(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) (res *[]CertificateSettings, err error)

List all mTLS hostname settings for this account or zone.

func (*AccessCertificateSettingService) Update

func (r *AccessCertificateSettingService) Update(ctx context.Context, accountOrZone string, accountOrZoneID string, body AccessCertificateSettingUpdateParams, opts ...option.RequestOption) (res *[]CertificateSettings, err error)

Updates an mTLS certificate's hostname settings.

type AccessCertificateSettingUpdateParams

type AccessCertificateSettingUpdateParams struct {
	Settings param.Field[[]CertificateSettingsParam] `json:"settings,required"`
}

func (AccessCertificateSettingUpdateParams) MarshalJSON

func (r AccessCertificateSettingUpdateParams) MarshalJSON() (data []byte, err error)

type AccessCertificateSettingUpdateResponseEnvelope

type AccessCertificateSettingUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success    AccessCertificateSettingUpdateResponseEnvelopeSuccess    `json:"success,required"`
	Result     []CertificateSettings                                    `json:"result,nullable"`
	ResultInfo AccessCertificateSettingUpdateResponseEnvelopeResultInfo `json:"result_info"`
	JSON       accessCertificateSettingUpdateResponseEnvelopeJSON       `json:"-"`
}

func (*AccessCertificateSettingUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessCertificateSettingUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCertificateSettingUpdateResponseEnvelopeResultInfo

type AccessCertificateSettingUpdateResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                                      `json:"total_count"`
	JSON       accessCertificateSettingUpdateResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*AccessCertificateSettingUpdateResponseEnvelopeResultInfo) UnmarshalJSON

type AccessCertificateSettingUpdateResponseEnvelopeSuccess

type AccessCertificateSettingUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCertificateSettingUpdateResponseEnvelopeSuccessTrue AccessCertificateSettingUpdateResponseEnvelopeSuccess = true
)

func (AccessCertificateSettingUpdateResponseEnvelopeSuccess) IsKnown

type AccessCertificateUpdateParams

type AccessCertificateUpdateParams struct {
	// The hostnames of the applications that will use this certificate.
	AssociatedHostnames param.Field[[]AssociatedHostnamesParam] `json:"associated_hostnames,required"`
	// The name of the certificate.
	Name param.Field[string] `json:"name"`
}

func (AccessCertificateUpdateParams) MarshalJSON

func (r AccessCertificateUpdateParams) MarshalJSON() (data []byte, err error)

type AccessCertificateUpdateResponseEnvelope

type AccessCertificateUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessCertificateUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  Certificate                                    `json:"result"`
	JSON    accessCertificateUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessCertificateUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessCertificateUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCertificateUpdateResponseEnvelopeSuccess

type AccessCertificateUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCertificateUpdateResponseEnvelopeSuccessTrue AccessCertificateUpdateResponseEnvelopeSuccess = true
)

func (AccessCertificateUpdateResponseEnvelopeSuccess) IsKnown

type AccessCustomPageDeleteResponse

type AccessCustomPageDeleteResponse struct {
	// UUID
	ID   string                             `json:"id"`
	JSON accessCustomPageDeleteResponseJSON `json:"-"`
}

func (*AccessCustomPageDeleteResponse) UnmarshalJSON

func (r *AccessCustomPageDeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessCustomPageDeleteResponseEnvelope

type AccessCustomPageDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessCustomPageDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessCustomPageDeleteResponse                `json:"result"`
	JSON    accessCustomPageDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessCustomPageDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessCustomPageDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCustomPageDeleteResponseEnvelopeSuccess

type AccessCustomPageDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCustomPageDeleteResponseEnvelopeSuccessTrue AccessCustomPageDeleteResponseEnvelopeSuccess = true
)

func (AccessCustomPageDeleteResponseEnvelopeSuccess) IsKnown

type AccessCustomPageGetResponseEnvelope

type AccessCustomPageGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessCustomPageGetResponseEnvelopeSuccess `json:"success,required"`
	Result  CustomPage                                 `json:"result"`
	JSON    accessCustomPageGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessCustomPageGetResponseEnvelope) UnmarshalJSON

func (r *AccessCustomPageGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCustomPageGetResponseEnvelopeSuccess

type AccessCustomPageGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCustomPageGetResponseEnvelopeSuccessTrue AccessCustomPageGetResponseEnvelopeSuccess = true
)

func (AccessCustomPageGetResponseEnvelopeSuccess) IsKnown

type AccessCustomPageNewParams

type AccessCustomPageNewParams struct {
	CustomPage CustomPageParam `json:"custom_page,required"`
}

func (AccessCustomPageNewParams) MarshalJSON

func (r AccessCustomPageNewParams) MarshalJSON() (data []byte, err error)

type AccessCustomPageNewResponseEnvelope

type AccessCustomPageNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessCustomPageNewResponseEnvelopeSuccess `json:"success,required"`
	Result  CustomPageWithoutHTML                      `json:"result"`
	JSON    accessCustomPageNewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessCustomPageNewResponseEnvelope) UnmarshalJSON

func (r *AccessCustomPageNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCustomPageNewResponseEnvelopeSuccess

type AccessCustomPageNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCustomPageNewResponseEnvelopeSuccessTrue AccessCustomPageNewResponseEnvelopeSuccess = true
)

func (AccessCustomPageNewResponseEnvelopeSuccess) IsKnown

type AccessCustomPageService

type AccessCustomPageService struct {
	Options []option.RequestOption
}

AccessCustomPageService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessCustomPageService method instead.

func NewAccessCustomPageService

func NewAccessCustomPageService(opts ...option.RequestOption) (r *AccessCustomPageService)

NewAccessCustomPageService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessCustomPageService) Delete

func (r *AccessCustomPageService) Delete(ctx context.Context, accountID string, customPageID string, opts ...option.RequestOption) (res *AccessCustomPageDeleteResponse, err error)

Delete a custom page

func (*AccessCustomPageService) Get

func (r *AccessCustomPageService) Get(ctx context.Context, accountID string, customPageID string, opts ...option.RequestOption) (res *CustomPage, err error)

Fetches a custom page and also returns its HTML.

func (*AccessCustomPageService) List

List custom pages

func (*AccessCustomPageService) ListAutoPaging

List custom pages

func (*AccessCustomPageService) New

Create a custom page

func (*AccessCustomPageService) Update

func (r *AccessCustomPageService) Update(ctx context.Context, accountID string, customPageID string, body AccessCustomPageUpdateParams, opts ...option.RequestOption) (res *CustomPageWithoutHTML, err error)

Update a custom page

type AccessCustomPageUpdateParams

type AccessCustomPageUpdateParams struct {
	CustomPage CustomPageParam `json:"custom_page,required"`
}

func (AccessCustomPageUpdateParams) MarshalJSON

func (r AccessCustomPageUpdateParams) MarshalJSON() (data []byte, err error)

type AccessCustomPageUpdateResponseEnvelope

type AccessCustomPageUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessCustomPageUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  CustomPageWithoutHTML                         `json:"result"`
	JSON    accessCustomPageUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessCustomPageUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessCustomPageUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessCustomPageUpdateResponseEnvelopeSuccess

type AccessCustomPageUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessCustomPageUpdateResponseEnvelopeSuccessTrue AccessCustomPageUpdateResponseEnvelopeSuccess = true
)

func (AccessCustomPageUpdateResponseEnvelopeSuccess) IsKnown

type AccessDevicePostureRule

type AccessDevicePostureRule struct {
	DevicePosture AccessDevicePostureRuleDevicePosture `json:"device_posture,required"`
	JSON          accessDevicePostureRuleJSON          `json:"-"`
}

Enforces a device posture rule has run successfully

func (*AccessDevicePostureRule) UnmarshalJSON

func (r *AccessDevicePostureRule) UnmarshalJSON(data []byte) (err error)

type AccessDevicePostureRuleDevicePosture

type AccessDevicePostureRuleDevicePosture struct {
	// The ID of a device posture integration.
	IntegrationUID string                                   `json:"integration_uid,required"`
	JSON           accessDevicePostureRuleDevicePostureJSON `json:"-"`
}

func (*AccessDevicePostureRuleDevicePosture) UnmarshalJSON

func (r *AccessDevicePostureRuleDevicePosture) UnmarshalJSON(data []byte) (err error)

type AccessDevicePostureRuleDevicePostureParam

type AccessDevicePostureRuleDevicePostureParam struct {
	// The ID of a device posture integration.
	IntegrationUID param.Field[string] `json:"integration_uid,required"`
}

func (AccessDevicePostureRuleDevicePostureParam) MarshalJSON

func (r AccessDevicePostureRuleDevicePostureParam) MarshalJSON() (data []byte, err error)

type AccessDevicePostureRuleParam

type AccessDevicePostureRuleParam struct {
	DevicePosture param.Field[AccessDevicePostureRuleDevicePostureParam] `json:"device_posture,required"`
}

Enforces a device posture rule has run successfully

func (AccessDevicePostureRuleParam) MarshalJSON

func (r AccessDevicePostureRuleParam) MarshalJSON() (data []byte, err error)

type AccessGroupDeleteResponse

type AccessGroupDeleteResponse struct {
	// UUID
	ID   string                        `json:"id"`
	JSON accessGroupDeleteResponseJSON `json:"-"`
}

func (*AccessGroupDeleteResponse) UnmarshalJSON

func (r *AccessGroupDeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessGroupDeleteResponseEnvelope

type AccessGroupDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessGroupDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessGroupDeleteResponse                `json:"result"`
	JSON    accessGroupDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessGroupDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessGroupDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessGroupDeleteResponseEnvelopeSuccess

type AccessGroupDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessGroupDeleteResponseEnvelopeSuccessTrue AccessGroupDeleteResponseEnvelopeSuccess = true
)

func (AccessGroupDeleteResponseEnvelopeSuccess) IsKnown

type AccessGroupGetResponseEnvelope

type AccessGroupGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessGroupGetResponseEnvelopeSuccess `json:"success,required"`
	Result  ZeroTrustGroup                        `json:"result"`
	JSON    accessGroupGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessGroupGetResponseEnvelope) UnmarshalJSON

func (r *AccessGroupGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessGroupGetResponseEnvelopeSuccess

type AccessGroupGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessGroupGetResponseEnvelopeSuccessTrue AccessGroupGetResponseEnvelopeSuccess = true
)

func (AccessGroupGetResponseEnvelopeSuccess) IsKnown

type AccessGroupNewParams

type AccessGroupNewParams struct {
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access group.
	Name param.Field[string] `json:"name,required"`
	// Rules evaluated with a NOT logical operator. To match a policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Whether this is the default group
	IsDefault param.Field[bool] `json:"is_default"`
	// Rules evaluated with an AND logical operator. To match a policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
}

func (AccessGroupNewParams) MarshalJSON

func (r AccessGroupNewParams) MarshalJSON() (data []byte, err error)

type AccessGroupNewResponseEnvelope

type AccessGroupNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessGroupNewResponseEnvelopeSuccess `json:"success,required"`
	Result  ZeroTrustGroup                        `json:"result"`
	JSON    accessGroupNewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessGroupNewResponseEnvelope) UnmarshalJSON

func (r *AccessGroupNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessGroupNewResponseEnvelopeSuccess

type AccessGroupNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessGroupNewResponseEnvelopeSuccessTrue AccessGroupNewResponseEnvelopeSuccess = true
)

func (AccessGroupNewResponseEnvelopeSuccess) IsKnown

type AccessGroupService

type AccessGroupService struct {
	Options []option.RequestOption
}

AccessGroupService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessGroupService method instead.

func NewAccessGroupService

func NewAccessGroupService(opts ...option.RequestOption) (r *AccessGroupService)

NewAccessGroupService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessGroupService) Delete

func (r *AccessGroupService) Delete(ctx context.Context, accountOrZone string, accountOrZoneID string, groupID string, opts ...option.RequestOption) (res *AccessGroupDeleteResponse, err error)

Deletes an Access group.

func (*AccessGroupService) Get

func (r *AccessGroupService) Get(ctx context.Context, accountOrZone string, accountOrZoneID string, groupID string, opts ...option.RequestOption) (res *ZeroTrustGroup, err error)

Fetches a single Access group.

func (*AccessGroupService) List

func (r *AccessGroupService) List(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) (res *pagination.SinglePage[ZeroTrustGroup], err error)

Lists all Access groups.

func (*AccessGroupService) ListAutoPaging

func (r *AccessGroupService) ListAutoPaging(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[ZeroTrustGroup]

Lists all Access groups.

func (*AccessGroupService) New

func (r *AccessGroupService) New(ctx context.Context, accountOrZone string, accountOrZoneID string, body AccessGroupNewParams, opts ...option.RequestOption) (res *ZeroTrustGroup, err error)

Creates a new Access group.

func (*AccessGroupService) Update

func (r *AccessGroupService) Update(ctx context.Context, accountOrZone string, accountOrZoneID string, groupID string, body AccessGroupUpdateParams, opts ...option.RequestOption) (res *ZeroTrustGroup, err error)

Updates a configured Access group.

type AccessGroupUpdateParams

type AccessGroupUpdateParams struct {
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access group.
	Name param.Field[string] `json:"name,required"`
	// Rules evaluated with a NOT logical operator. To match a policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Whether this is the default group
	IsDefault param.Field[bool] `json:"is_default"`
	// Rules evaluated with an AND logical operator. To match a policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
}

func (AccessGroupUpdateParams) MarshalJSON

func (r AccessGroupUpdateParams) MarshalJSON() (data []byte, err error)

type AccessGroupUpdateResponseEnvelope

type AccessGroupUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessGroupUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  ZeroTrustGroup                           `json:"result"`
	JSON    accessGroupUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessGroupUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessGroupUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessGroupUpdateResponseEnvelopeSuccess

type AccessGroupUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessGroupUpdateResponseEnvelopeSuccessTrue AccessGroupUpdateResponseEnvelopeSuccess = true
)

func (AccessGroupUpdateResponseEnvelopeSuccess) IsKnown

type AccessKeyGetResponseEnvelope

type AccessKeyGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessKeyGetResponseEnvelopeSuccess `json:"success,required"`
	// The number of days until the next key rotation.
	DaysUntilNextRotation float64 `json:"days_until_next_rotation"`
	// The number of days between key rotations.
	KeyRotationIntervalDays float64 `json:"key_rotation_interval_days"`
	// The timestamp of the previous key rotation.
	LastKeyRotationAt time.Time                        `json:"last_key_rotation_at" format:"date-time"`
	Result            AccessKeyGetResponseUnion        `json:"result"`
	JSON              accessKeyGetResponseEnvelopeJSON `json:"-"`
}

func (*AccessKeyGetResponseEnvelope) UnmarshalJSON

func (r *AccessKeyGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessKeyGetResponseEnvelopeSuccess

type AccessKeyGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessKeyGetResponseEnvelopeSuccessTrue AccessKeyGetResponseEnvelopeSuccess = true
)

func (AccessKeyGetResponseEnvelopeSuccess) IsKnown

type AccessKeyGetResponseUnion

type AccessKeyGetResponseUnion interface {
	ImplementsZeroTrustAccessKeyGetResponseUnion()
}

Union satisfied by zero_trust.AccessKeyGetResponseUnknown or shared.UnionString.

type AccessKeyRotateResponseEnvelope

type AccessKeyRotateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessKeyRotateResponseEnvelopeSuccess `json:"success,required"`
	// The number of days until the next key rotation.
	DaysUntilNextRotation float64 `json:"days_until_next_rotation"`
	// The number of days between key rotations.
	KeyRotationIntervalDays float64 `json:"key_rotation_interval_days"`
	// The timestamp of the previous key rotation.
	LastKeyRotationAt time.Time                           `json:"last_key_rotation_at" format:"date-time"`
	Result            AccessKeyRotateResponseUnion        `json:"result"`
	JSON              accessKeyRotateResponseEnvelopeJSON `json:"-"`
}

func (*AccessKeyRotateResponseEnvelope) UnmarshalJSON

func (r *AccessKeyRotateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessKeyRotateResponseEnvelopeSuccess

type AccessKeyRotateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessKeyRotateResponseEnvelopeSuccessTrue AccessKeyRotateResponseEnvelopeSuccess = true
)

func (AccessKeyRotateResponseEnvelopeSuccess) IsKnown

type AccessKeyRotateResponseUnion

type AccessKeyRotateResponseUnion interface {
	ImplementsZeroTrustAccessKeyRotateResponseUnion()
}

Union satisfied by zero_trust.AccessKeyRotateResponseUnknown or shared.UnionString.

type AccessKeyService

type AccessKeyService struct {
	Options []option.RequestOption
}

AccessKeyService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessKeyService method instead.

func NewAccessKeyService

func NewAccessKeyService(opts ...option.RequestOption) (r *AccessKeyService)

NewAccessKeyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessKeyService) Get

func (r *AccessKeyService) Get(ctx context.Context, accountID string, opts ...option.RequestOption) (res *AccessKeyGetResponseUnion, err error)

Gets the Access key rotation settings for an account.

func (*AccessKeyService) Rotate

func (r *AccessKeyService) Rotate(ctx context.Context, accountID string, opts ...option.RequestOption) (res *AccessKeyRotateResponseUnion, err error)

Perfoms a key rotation for an account.

func (*AccessKeyService) Update

Updates the Access key rotation settings for an account.

type AccessKeyUpdateParams

type AccessKeyUpdateParams struct {
	// The number of days between key rotations.
	KeyRotationIntervalDays param.Field[float64] `json:"key_rotation_interval_days,required"`
}

func (AccessKeyUpdateParams) MarshalJSON

func (r AccessKeyUpdateParams) MarshalJSON() (data []byte, err error)

type AccessKeyUpdateResponseEnvelope

type AccessKeyUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessKeyUpdateResponseEnvelopeSuccess `json:"success,required"`
	// The number of days until the next key rotation.
	DaysUntilNextRotation float64 `json:"days_until_next_rotation"`
	// The number of days between key rotations.
	KeyRotationIntervalDays float64 `json:"key_rotation_interval_days"`
	// The timestamp of the previous key rotation.
	LastKeyRotationAt time.Time                           `json:"last_key_rotation_at" format:"date-time"`
	Result            AccessKeyUpdateResponseUnion        `json:"result"`
	JSON              accessKeyUpdateResponseEnvelopeJSON `json:"-"`
}

func (*AccessKeyUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessKeyUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessKeyUpdateResponseEnvelopeSuccess

type AccessKeyUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessKeyUpdateResponseEnvelopeSuccessTrue AccessKeyUpdateResponseEnvelopeSuccess = true
)

func (AccessKeyUpdateResponseEnvelopeSuccess) IsKnown

type AccessKeyUpdateResponseUnion

type AccessKeyUpdateResponseUnion interface {
	ImplementsZeroTrustAccessKeyUpdateResponseUnion()
}

Union satisfied by zero_trust.AccessKeyUpdateResponseUnknown or shared.UnionString.

type AccessLogAccessRequestListParams

type AccessLogAccessRequestListParams struct {
	// The chronological sorting order for the logs.
	Direction param.Field[AccessLogAccessRequestListParamsDirection] `query:"direction"`
	// The maximum number of log entries to retrieve.
	Limit param.Field[int64] `query:"limit"`
	// The earliest event timestamp to query.
	Since param.Field[time.Time] `query:"since" format:"date-time"`
	// The latest event timestamp to query.
	Until param.Field[time.Time] `query:"until" format:"date-time"`
}

func (AccessLogAccessRequestListParams) URLQuery

func (r AccessLogAccessRequestListParams) URLQuery() (v url.Values)

URLQuery serializes AccessLogAccessRequestListParams's query parameters as `url.Values`.

type AccessLogAccessRequestListParamsDirection

type AccessLogAccessRequestListParamsDirection string

The chronological sorting order for the logs.

const (
	AccessLogAccessRequestListParamsDirectionDesc AccessLogAccessRequestListParamsDirection = "desc"
	AccessLogAccessRequestListParamsDirectionAsc  AccessLogAccessRequestListParamsDirection = "asc"
)

func (AccessLogAccessRequestListParamsDirection) IsKnown

type AccessLogAccessRequestListResponseEnvelope

type AccessLogAccessRequestListResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessLogAccessRequestListResponseEnvelopeSuccess `json:"success,required"`
	Result  []AccessRequests                                  `json:"result"`
	JSON    accessLogAccessRequestListResponseEnvelopeJSON    `json:"-"`
}

func (*AccessLogAccessRequestListResponseEnvelope) UnmarshalJSON

func (r *AccessLogAccessRequestListResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessLogAccessRequestListResponseEnvelopeSuccess

type AccessLogAccessRequestListResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessLogAccessRequestListResponseEnvelopeSuccessTrue AccessLogAccessRequestListResponseEnvelopeSuccess = true
)

func (AccessLogAccessRequestListResponseEnvelopeSuccess) IsKnown

type AccessLogAccessRequestService

type AccessLogAccessRequestService struct {
	Options []option.RequestOption
}

AccessLogAccessRequestService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessLogAccessRequestService method instead.

func NewAccessLogAccessRequestService

func NewAccessLogAccessRequestService(opts ...option.RequestOption) (r *AccessLogAccessRequestService)

NewAccessLogAccessRequestService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessLogAccessRequestService) List

Gets a list of Access authentication audit logs for an account.

type AccessLogService

type AccessLogService struct {
	Options        []option.RequestOption
	AccessRequests *AccessLogAccessRequestService
}

AccessLogService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessLogService method instead.

func NewAccessLogService

func NewAccessLogService(opts ...option.RequestOption) (r *AccessLogService)

NewAccessLogService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

type AccessPolicyDeleteResponse

type AccessPolicyDeleteResponse struct {
	// The UUID of the policy
	ID   string                         `json:"id"`
	JSON accessPolicyDeleteResponseJSON `json:"-"`
}

func (*AccessPolicyDeleteResponse) UnmarshalJSON

func (r *AccessPolicyDeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessPolicyDeleteResponseEnvelope

type AccessPolicyDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessPolicyDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessPolicyDeleteResponse                `json:"result"`
	JSON    accessPolicyDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessPolicyDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessPolicyDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessPolicyDeleteResponseEnvelopeSuccess

type AccessPolicyDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessPolicyDeleteResponseEnvelopeSuccessTrue AccessPolicyDeleteResponseEnvelopeSuccess = true
)

func (AccessPolicyDeleteResponseEnvelopeSuccess) IsKnown

type AccessPolicyGetResponse

type AccessPolicyGetResponse struct {
	// The UUID of the policy
	ID string `json:"id"`
	// Number of access applications currently using this policy.
	AppCount int64 `json:"app_count"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups []ApprovalGroup `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired bool      `json:"approval_required"`
	CreatedAt        time.Time `json:"created_at" format:"date-time"`
	// The action Access will take if a user matches this policy.
	Decision Decision `json:"decision"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude []AccessRule `json:"exclude"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include []AccessRule `json:"include"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired bool `json:"isolation_required"`
	// The name of the Access policy.
	Name string `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt string `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired bool `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require  []AccessRule                    `json:"require"`
	Reusable AccessPolicyGetResponseReusable `json:"reusable"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration string                      `json:"session_duration"`
	UpdatedAt       time.Time                   `json:"updated_at" format:"date-time"`
	JSON            accessPolicyGetResponseJSON `json:"-"`
}

func (*AccessPolicyGetResponse) UnmarshalJSON

func (r *AccessPolicyGetResponse) UnmarshalJSON(data []byte) (err error)

type AccessPolicyGetResponseEnvelope

type AccessPolicyGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessPolicyGetResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessPolicyGetResponse                `json:"result"`
	JSON    accessPolicyGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessPolicyGetResponseEnvelope) UnmarshalJSON

func (r *AccessPolicyGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessPolicyGetResponseEnvelopeSuccess

type AccessPolicyGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessPolicyGetResponseEnvelopeSuccessTrue AccessPolicyGetResponseEnvelopeSuccess = true
)

func (AccessPolicyGetResponseEnvelopeSuccess) IsKnown

type AccessPolicyGetResponseReusable

type AccessPolicyGetResponseReusable bool
const (
	AccessPolicyGetResponseReusableTrue AccessPolicyGetResponseReusable = true
)

func (AccessPolicyGetResponseReusable) IsKnown

type AccessPolicyListResponse

type AccessPolicyListResponse struct {
	// The UUID of the policy
	ID string `json:"id"`
	// Number of access applications currently using this policy.
	AppCount int64 `json:"app_count"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups []ApprovalGroup `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired bool      `json:"approval_required"`
	CreatedAt        time.Time `json:"created_at" format:"date-time"`
	// The action Access will take if a user matches this policy.
	Decision Decision `json:"decision"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude []AccessRule `json:"exclude"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include []AccessRule `json:"include"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired bool `json:"isolation_required"`
	// The name of the Access policy.
	Name string `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt string `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired bool `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require  []AccessRule                     `json:"require"`
	Reusable AccessPolicyListResponseReusable `json:"reusable"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration string                       `json:"session_duration"`
	UpdatedAt       time.Time                    `json:"updated_at" format:"date-time"`
	JSON            accessPolicyListResponseJSON `json:"-"`
}

func (*AccessPolicyListResponse) UnmarshalJSON

func (r *AccessPolicyListResponse) UnmarshalJSON(data []byte) (err error)

type AccessPolicyListResponseReusable

type AccessPolicyListResponseReusable bool
const (
	AccessPolicyListResponseReusableTrue AccessPolicyListResponseReusable = true
)

func (AccessPolicyListResponseReusable) IsKnown

type AccessPolicyNewParams

type AccessPolicyNewParams struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessPolicyNewParams) MarshalJSON

func (r AccessPolicyNewParams) MarshalJSON() (data []byte, err error)

type AccessPolicyNewResponse

type AccessPolicyNewResponse struct {
	// The UUID of the policy
	ID string `json:"id"`
	// Number of access applications currently using this policy.
	AppCount int64 `json:"app_count"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups []ApprovalGroup `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired bool      `json:"approval_required"`
	CreatedAt        time.Time `json:"created_at" format:"date-time"`
	// The action Access will take if a user matches this policy.
	Decision Decision `json:"decision"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude []AccessRule `json:"exclude"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include []AccessRule `json:"include"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired bool `json:"isolation_required"`
	// The name of the Access policy.
	Name string `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt string `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired bool `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require  []AccessRule                    `json:"require"`
	Reusable AccessPolicyNewResponseReusable `json:"reusable"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration string                      `json:"session_duration"`
	UpdatedAt       time.Time                   `json:"updated_at" format:"date-time"`
	JSON            accessPolicyNewResponseJSON `json:"-"`
}

func (*AccessPolicyNewResponse) UnmarshalJSON

func (r *AccessPolicyNewResponse) UnmarshalJSON(data []byte) (err error)

type AccessPolicyNewResponseEnvelope

type AccessPolicyNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessPolicyNewResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessPolicyNewResponse                `json:"result"`
	JSON    accessPolicyNewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessPolicyNewResponseEnvelope) UnmarshalJSON

func (r *AccessPolicyNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessPolicyNewResponseEnvelopeSuccess

type AccessPolicyNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessPolicyNewResponseEnvelopeSuccessTrue AccessPolicyNewResponseEnvelopeSuccess = true
)

func (AccessPolicyNewResponseEnvelopeSuccess) IsKnown

type AccessPolicyNewResponseReusable

type AccessPolicyNewResponseReusable bool
const (
	AccessPolicyNewResponseReusableTrue AccessPolicyNewResponseReusable = true
)

func (AccessPolicyNewResponseReusable) IsKnown

type AccessPolicyService

type AccessPolicyService struct {
	Options []option.RequestOption
}

AccessPolicyService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessPolicyService method instead.

func NewAccessPolicyService

func NewAccessPolicyService(opts ...option.RequestOption) (r *AccessPolicyService)

NewAccessPolicyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessPolicyService) Delete

func (r *AccessPolicyService) Delete(ctx context.Context, accountID string, policyID string, opts ...option.RequestOption) (res *AccessPolicyDeleteResponse, err error)

Deletes an Access reusable policy.

func (*AccessPolicyService) Get

func (r *AccessPolicyService) Get(ctx context.Context, accountID string, policyID string, opts ...option.RequestOption) (res *AccessPolicyGetResponse, err error)

Fetches a single Access reusable policy.

func (*AccessPolicyService) List

Lists Access reusable policies.

func (*AccessPolicyService) ListAutoPaging

Lists Access reusable policies.

func (*AccessPolicyService) New

Creates a new Access reusable policy.

func (*AccessPolicyService) Update

func (r *AccessPolicyService) Update(ctx context.Context, accountID string, policyID string, body AccessPolicyUpdateParams, opts ...option.RequestOption) (res *AccessPolicyUpdateResponse, err error)

Updates a Access reusable policy.

type AccessPolicyUpdateParams

type AccessPolicyUpdateParams struct {
	// The action Access will take if a user matches this policy.
	Decision param.Field[Decision] `json:"decision,required"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include param.Field[[]AccessRuleUnionParam] `json:"include,required"`
	// The name of the Access policy.
	Name param.Field[string] `json:"name,required"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups param.Field[[]ApprovalGroupParam] `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired param.Field[bool] `json:"approval_required"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude param.Field[[]AccessRuleUnionParam] `json:"exclude"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired param.Field[bool] `json:"isolation_required"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt param.Field[string] `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired param.Field[bool] `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require param.Field[[]AccessRuleUnionParam] `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration param.Field[string] `json:"session_duration"`
}

func (AccessPolicyUpdateParams) MarshalJSON

func (r AccessPolicyUpdateParams) MarshalJSON() (data []byte, err error)

type AccessPolicyUpdateResponse

type AccessPolicyUpdateResponse struct {
	// The UUID of the policy
	ID string `json:"id"`
	// Number of access applications currently using this policy.
	AppCount int64 `json:"app_count"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups []ApprovalGroup `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired bool      `json:"approval_required"`
	CreatedAt        time.Time `json:"created_at" format:"date-time"`
	// The action Access will take if a user matches this policy.
	Decision Decision `json:"decision"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude []AccessRule `json:"exclude"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include []AccessRule `json:"include"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired bool `json:"isolation_required"`
	// The name of the Access policy.
	Name string `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt string `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired bool `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require  []AccessRule                       `json:"require"`
	Reusable AccessPolicyUpdateResponseReusable `json:"reusable"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration string                         `json:"session_duration"`
	UpdatedAt       time.Time                      `json:"updated_at" format:"date-time"`
	JSON            accessPolicyUpdateResponseJSON `json:"-"`
}

func (*AccessPolicyUpdateResponse) UnmarshalJSON

func (r *AccessPolicyUpdateResponse) UnmarshalJSON(data []byte) (err error)

type AccessPolicyUpdateResponseEnvelope

type AccessPolicyUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessPolicyUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessPolicyUpdateResponse                `json:"result"`
	JSON    accessPolicyUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessPolicyUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessPolicyUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessPolicyUpdateResponseEnvelopeSuccess

type AccessPolicyUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessPolicyUpdateResponseEnvelopeSuccessTrue AccessPolicyUpdateResponseEnvelopeSuccess = true
)

func (AccessPolicyUpdateResponseEnvelopeSuccess) IsKnown

type AccessPolicyUpdateResponseReusable

type AccessPolicyUpdateResponseReusable bool
const (
	AccessPolicyUpdateResponseReusableTrue AccessPolicyUpdateResponseReusable = true
)

func (AccessPolicyUpdateResponseReusable) IsKnown

type AccessRequests

type AccessRequests struct {
	// The event that occurred, such as a login attempt.
	Action string `json:"action"`
	// The result of the authentication event.
	Allowed bool `json:"allowed"`
	// The URL of the Access application.
	AppDomain string `json:"app_domain"`
	// The unique identifier for the Access application.
	AppUID string `json:"app_uid"`
	// The IdP used to authenticate.
	Connection string    `json:"connection"`
	CreatedAt  time.Time `json:"created_at" format:"date-time"`
	// The IP address of the authenticating user.
	IPAddress string `json:"ip_address"`
	// The unique identifier for the request to Cloudflare.
	RayID string `json:"ray_id"`
	// The email address of the authenticating user.
	UserEmail string             `json:"user_email" format:"email"`
	JSON      accessRequestsJSON `json:"-"`
}

func (*AccessRequests) UnmarshalJSON

func (r *AccessRequests) UnmarshalJSON(data []byte) (err error)

type AccessRule

type AccessRule struct {
	// This field can have the runtime type of [EmailRuleEmail].
	Email interface{} `json:"email,required"`
	// This field can have the runtime type of [EmailListRuleEmailList].
	EmailList interface{} `json:"email_list,required"`
	// This field can have the runtime type of [DomainRuleEmailDomain].
	EmailDomain interface{} `json:"email_domain,required"`
	// This field can have the runtime type of [interface{}].
	Everyone interface{} `json:"everyone,required"`
	// This field can have the runtime type of [IPRuleIP].
	IP interface{} `json:"ip,required"`
	// This field can have the runtime type of [IPListRuleIPList].
	IPList interface{} `json:"ip_list,required"`
	// This field can have the runtime type of [interface{}].
	Certificate interface{} `json:"certificate,required"`
	// This field can have the runtime type of [GroupRuleGroup].
	Group interface{} `json:"group,required"`
	// This field can have the runtime type of [AzureGroupRuleAzureAD].
	AzureAD interface{} `json:"azureAD,required"`
	// This field can have the runtime type of
	// [GitHubOrganizationRuleGitHubOrganization].
	GitHubOrganization interface{} `json:"github-organization,required"`
	// This field can have the runtime type of [GSuiteGroupRuleGSuite].
	GSuite interface{} `json:"gsuite,required"`
	// This field can have the runtime type of [OktaGroupRuleOkta].
	Okta interface{} `json:"okta,required"`
	// This field can have the runtime type of [SAMLGroupRuleSAML].
	SAML interface{} `json:"saml,required"`
	// This field can have the runtime type of [ServiceTokenRuleServiceToken].
	ServiceToken interface{} `json:"service_token,required"`
	// This field can have the runtime type of [interface{}].
	AnyValidServiceToken interface{} `json:"any_valid_service_token,required"`
	// This field can have the runtime type of
	// [ExternalEvaluationRuleExternalEvaluation].
	ExternalEvaluation interface{} `json:"external_evaluation,required"`
	// This field can have the runtime type of [CountryRuleGeo].
	Geo interface{} `json:"geo,required"`
	// This field can have the runtime type of [AuthenticationMethodRuleAuthMethod].
	AuthMethod interface{} `json:"auth_method,required"`
	// This field can have the runtime type of [AccessDevicePostureRuleDevicePosture].
	DevicePosture interface{}    `json:"device_posture,required"`
	JSON          accessRuleJSON `json:"-"`
	// contains filtered or unexported fields
}

Matches a specific email.

func (*AccessRule) UnmarshalJSON

func (r *AccessRule) UnmarshalJSON(data []byte) (err error)

type AccessRuleParam

type AccessRuleParam struct {
	Email                param.Field[interface{}] `json:"email,required"`
	EmailList            param.Field[interface{}] `json:"email_list,required"`
	EmailDomain          param.Field[interface{}] `json:"email_domain,required"`
	Everyone             param.Field[interface{}] `json:"everyone,required"`
	IP                   param.Field[interface{}] `json:"ip,required"`
	IPList               param.Field[interface{}] `json:"ip_list,required"`
	Certificate          param.Field[interface{}] `json:"certificate,required"`
	Group                param.Field[interface{}] `json:"group,required"`
	AzureAD              param.Field[interface{}] `json:"azureAD,required"`
	GitHubOrganization   param.Field[interface{}] `json:"github-organization,required"`
	GSuite               param.Field[interface{}] `json:"gsuite,required"`
	Okta                 param.Field[interface{}] `json:"okta,required"`
	SAML                 param.Field[interface{}] `json:"saml,required"`
	ServiceToken         param.Field[interface{}] `json:"service_token,required"`
	AnyValidServiceToken param.Field[interface{}] `json:"any_valid_service_token,required"`
	ExternalEvaluation   param.Field[interface{}] `json:"external_evaluation,required"`
	Geo                  param.Field[interface{}] `json:"geo,required"`
	AuthMethod           param.Field[interface{}] `json:"auth_method,required"`
	DevicePosture        param.Field[interface{}] `json:"device_posture,required"`
}

Matches a specific email.

func (AccessRuleParam) MarshalJSON

func (r AccessRuleParam) MarshalJSON() (data []byte, err error)

type AccessService

type AccessService struct {
	Options       []option.RequestOption
	Applications  *AccessApplicationService
	Certificates  *AccessCertificateService
	Groups        *AccessGroupService
	ServiceTokens *AccessServiceTokenService
	Bookmarks     *AccessBookmarkService
	Keys          *AccessKeyService
	Logs          *AccessLogService
	Users         *AccessUserService
	CustomPages   *AccessCustomPageService
	Tags          *AccessTagService
	Policies      *AccessPolicyService
}

AccessService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessService method instead.

func NewAccessService

func NewAccessService(opts ...option.RequestOption) (r *AccessService)

NewAccessService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

type AccessServiceTokenDeleteResponseEnvelope

type AccessServiceTokenDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessServiceTokenDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  ServiceToken                                    `json:"result"`
	JSON    accessServiceTokenDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessServiceTokenDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessServiceTokenDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessServiceTokenDeleteResponseEnvelopeSuccess

type AccessServiceTokenDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessServiceTokenDeleteResponseEnvelopeSuccessTrue AccessServiceTokenDeleteResponseEnvelopeSuccess = true
)

func (AccessServiceTokenDeleteResponseEnvelopeSuccess) IsKnown

type AccessServiceTokenGetResponseEnvelope

type AccessServiceTokenGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessServiceTokenGetResponseEnvelopeSuccess `json:"success,required"`
	Result  ServiceToken                                 `json:"result"`
	JSON    accessServiceTokenGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessServiceTokenGetResponseEnvelope) UnmarshalJSON

func (r *AccessServiceTokenGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessServiceTokenGetResponseEnvelopeSuccess

type AccessServiceTokenGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessServiceTokenGetResponseEnvelopeSuccessTrue AccessServiceTokenGetResponseEnvelopeSuccess = true
)

func (AccessServiceTokenGetResponseEnvelopeSuccess) IsKnown

type AccessServiceTokenNewParams

type AccessServiceTokenNewParams struct {
	// The name of the service token.
	Name param.Field[string] `json:"name,required"`
	// The duration for how long the service token will be valid. Must be in the format
	// `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h. The
	// default is 1 year in hours (8760h).
	Duration param.Field[string] `json:"duration"`
}

func (AccessServiceTokenNewParams) MarshalJSON

func (r AccessServiceTokenNewParams) MarshalJSON() (data []byte, err error)

type AccessServiceTokenNewResponse

type AccessServiceTokenNewResponse struct {
	// The ID of the service token.
	ID string `json:"id"`
	// The Client ID for the service token. Access will check for this value in the
	// `CF-Access-Client-ID` request header.
	ClientID string `json:"client_id"`
	// The Client Secret for the service token. Access will check for this value in the
	// `CF-Access-Client-Secret` request header.
	ClientSecret string    `json:"client_secret"`
	CreatedAt    time.Time `json:"created_at" format:"date-time"`
	// The duration for how long the service token will be valid. Must be in the format
	// `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h. The
	// default is 1 year in hours (8760h).
	Duration string `json:"duration"`
	// The name of the service token.
	Name      string                            `json:"name"`
	UpdatedAt time.Time                         `json:"updated_at" format:"date-time"`
	JSON      accessServiceTokenNewResponseJSON `json:"-"`
}

func (*AccessServiceTokenNewResponse) UnmarshalJSON

func (r *AccessServiceTokenNewResponse) UnmarshalJSON(data []byte) (err error)

type AccessServiceTokenNewResponseEnvelope

type AccessServiceTokenNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessServiceTokenNewResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessServiceTokenNewResponse                `json:"result"`
	JSON    accessServiceTokenNewResponseEnvelopeJSON    `json:"-"`
}

func (*AccessServiceTokenNewResponseEnvelope) UnmarshalJSON

func (r *AccessServiceTokenNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessServiceTokenNewResponseEnvelopeSuccess

type AccessServiceTokenNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessServiceTokenNewResponseEnvelopeSuccessTrue AccessServiceTokenNewResponseEnvelopeSuccess = true
)

func (AccessServiceTokenNewResponseEnvelopeSuccess) IsKnown

type AccessServiceTokenRefreshResponseEnvelope

type AccessServiceTokenRefreshResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessServiceTokenRefreshResponseEnvelopeSuccess `json:"success,required"`
	Result  ServiceToken                                     `json:"result"`
	JSON    accessServiceTokenRefreshResponseEnvelopeJSON    `json:"-"`
}

func (*AccessServiceTokenRefreshResponseEnvelope) UnmarshalJSON

func (r *AccessServiceTokenRefreshResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessServiceTokenRefreshResponseEnvelopeSuccess

type AccessServiceTokenRefreshResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessServiceTokenRefreshResponseEnvelopeSuccessTrue AccessServiceTokenRefreshResponseEnvelopeSuccess = true
)

func (AccessServiceTokenRefreshResponseEnvelopeSuccess) IsKnown

type AccessServiceTokenRotateResponse

type AccessServiceTokenRotateResponse struct {
	// The ID of the service token.
	ID string `json:"id"`
	// The Client ID for the service token. Access will check for this value in the
	// `CF-Access-Client-ID` request header.
	ClientID string `json:"client_id"`
	// The Client Secret for the service token. Access will check for this value in the
	// `CF-Access-Client-Secret` request header.
	ClientSecret string    `json:"client_secret"`
	CreatedAt    time.Time `json:"created_at" format:"date-time"`
	// The duration for how long the service token will be valid. Must be in the format
	// `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h. The
	// default is 1 year in hours (8760h).
	Duration string `json:"duration"`
	// The name of the service token.
	Name      string                               `json:"name"`
	UpdatedAt time.Time                            `json:"updated_at" format:"date-time"`
	JSON      accessServiceTokenRotateResponseJSON `json:"-"`
}

func (*AccessServiceTokenRotateResponse) UnmarshalJSON

func (r *AccessServiceTokenRotateResponse) UnmarshalJSON(data []byte) (err error)

type AccessServiceTokenRotateResponseEnvelope

type AccessServiceTokenRotateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessServiceTokenRotateResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessServiceTokenRotateResponse                `json:"result"`
	JSON    accessServiceTokenRotateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessServiceTokenRotateResponseEnvelope) UnmarshalJSON

func (r *AccessServiceTokenRotateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessServiceTokenRotateResponseEnvelopeSuccess

type AccessServiceTokenRotateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessServiceTokenRotateResponseEnvelopeSuccessTrue AccessServiceTokenRotateResponseEnvelopeSuccess = true
)

func (AccessServiceTokenRotateResponseEnvelopeSuccess) IsKnown

type AccessServiceTokenService

type AccessServiceTokenService struct {
	Options []option.RequestOption
}

AccessServiceTokenService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessServiceTokenService method instead.

func NewAccessServiceTokenService

func NewAccessServiceTokenService(opts ...option.RequestOption) (r *AccessServiceTokenService)

NewAccessServiceTokenService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessServiceTokenService) Delete

func (r *AccessServiceTokenService) Delete(ctx context.Context, accountOrZone string, accountOrZoneID string, serviceTokenID string, opts ...option.RequestOption) (res *ServiceToken, err error)

Deletes a service token.

func (*AccessServiceTokenService) Get

func (r *AccessServiceTokenService) Get(ctx context.Context, accountOrZone string, accountOrZoneID string, serviceTokenID string, opts ...option.RequestOption) (res *ServiceToken, err error)

Fetches a single service token.

func (*AccessServiceTokenService) List

func (r *AccessServiceTokenService) List(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) (res *pagination.SinglePage[ServiceToken], err error)

Lists all service tokens.

func (*AccessServiceTokenService) ListAutoPaging

func (r *AccessServiceTokenService) ListAutoPaging(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[ServiceToken]

Lists all service tokens.

func (*AccessServiceTokenService) New

func (r *AccessServiceTokenService) New(ctx context.Context, accountOrZone string, accountOrZoneID string, body AccessServiceTokenNewParams, opts ...option.RequestOption) (res *AccessServiceTokenNewResponse, err error)

Generates a new service token. **Note:** This is the only time you can get the Client Secret. If you lose the Client Secret, you will have to rotate the Client Secret or create a new service token.

func (*AccessServiceTokenService) Refresh

func (r *AccessServiceTokenService) Refresh(ctx context.Context, accountID string, serviceTokenID string, opts ...option.RequestOption) (res *ServiceToken, err error)

Refreshes the expiration of a service token.

func (*AccessServiceTokenService) Rotate

func (r *AccessServiceTokenService) Rotate(ctx context.Context, accountID string, serviceTokenID string, opts ...option.RequestOption) (res *AccessServiceTokenRotateResponse, err error)

Generates a new Client Secret for a service token and revokes the old one.

func (*AccessServiceTokenService) Update

func (r *AccessServiceTokenService) Update(ctx context.Context, accountOrZone string, accountOrZoneID string, serviceTokenID string, body AccessServiceTokenUpdateParams, opts ...option.RequestOption) (res *ServiceToken, err error)

Updates a configured service token.

type AccessServiceTokenUpdateParams

type AccessServiceTokenUpdateParams struct {
	// The duration for how long the service token will be valid. Must be in the format
	// `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h. The
	// default is 1 year in hours (8760h).
	Duration param.Field[string] `json:"duration"`
	// The name of the service token.
	Name param.Field[string] `json:"name"`
}

func (AccessServiceTokenUpdateParams) MarshalJSON

func (r AccessServiceTokenUpdateParams) MarshalJSON() (data []byte, err error)

type AccessServiceTokenUpdateResponseEnvelope

type AccessServiceTokenUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessServiceTokenUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  ServiceToken                                    `json:"result"`
	JSON    accessServiceTokenUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*AccessServiceTokenUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessServiceTokenUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessServiceTokenUpdateResponseEnvelopeSuccess

type AccessServiceTokenUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessServiceTokenUpdateResponseEnvelopeSuccessTrue AccessServiceTokenUpdateResponseEnvelopeSuccess = true
)

func (AccessServiceTokenUpdateResponseEnvelopeSuccess) IsKnown

type AccessTagDeleteResponse

type AccessTagDeleteResponse struct {
	// The name of the tag
	Name string                      `json:"name"`
	JSON accessTagDeleteResponseJSON `json:"-"`
}

func (*AccessTagDeleteResponse) UnmarshalJSON

func (r *AccessTagDeleteResponse) UnmarshalJSON(data []byte) (err error)

type AccessTagDeleteResponseEnvelope

type AccessTagDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessTagDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessTagDeleteResponse                `json:"result"`
	JSON    accessTagDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*AccessTagDeleteResponseEnvelope) UnmarshalJSON

func (r *AccessTagDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessTagDeleteResponseEnvelopeSuccess

type AccessTagDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessTagDeleteResponseEnvelopeSuccessTrue AccessTagDeleteResponseEnvelopeSuccess = true
)

func (AccessTagDeleteResponseEnvelopeSuccess) IsKnown

type AccessTagGetResponseEnvelope

type AccessTagGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessTagGetResponseEnvelopeSuccess `json:"success,required"`
	// A tag
	Result Tag                              `json:"result"`
	JSON   accessTagGetResponseEnvelopeJSON `json:"-"`
}

func (*AccessTagGetResponseEnvelope) UnmarshalJSON

func (r *AccessTagGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessTagGetResponseEnvelopeSuccess

type AccessTagGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessTagGetResponseEnvelopeSuccessTrue AccessTagGetResponseEnvelopeSuccess = true
)

func (AccessTagGetResponseEnvelopeSuccess) IsKnown

type AccessTagNewParams

type AccessTagNewParams struct {
	// The name of the tag
	Name param.Field[string] `json:"name,required"`
}

func (AccessTagNewParams) MarshalJSON

func (r AccessTagNewParams) MarshalJSON() (data []byte, err error)

type AccessTagNewResponseEnvelope

type AccessTagNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessTagNewResponseEnvelopeSuccess `json:"success,required"`
	// A tag
	Result Tag                              `json:"result"`
	JSON   accessTagNewResponseEnvelopeJSON `json:"-"`
}

func (*AccessTagNewResponseEnvelope) UnmarshalJSON

func (r *AccessTagNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessTagNewResponseEnvelopeSuccess

type AccessTagNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessTagNewResponseEnvelopeSuccessTrue AccessTagNewResponseEnvelopeSuccess = true
)

func (AccessTagNewResponseEnvelopeSuccess) IsKnown

type AccessTagService

type AccessTagService struct {
	Options []option.RequestOption
}

AccessTagService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessTagService method instead.

func NewAccessTagService

func NewAccessTagService(opts ...option.RequestOption) (r *AccessTagService)

NewAccessTagService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessTagService) Delete

func (r *AccessTagService) Delete(ctx context.Context, accountID string, tagName string, opts ...option.RequestOption) (res *AccessTagDeleteResponse, err error)

Delete a tag

func (*AccessTagService) Get

func (r *AccessTagService) Get(ctx context.Context, accountID string, tagName string, opts ...option.RequestOption) (res *Tag, err error)

Get a tag

func (*AccessTagService) List

func (r *AccessTagService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[Tag], err error)

List tags

func (*AccessTagService) ListAutoPaging

func (r *AccessTagService) ListAutoPaging(ctx context.Context, accountID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[Tag]

List tags

func (*AccessTagService) New

func (r *AccessTagService) New(ctx context.Context, accountID string, body AccessTagNewParams, opts ...option.RequestOption) (res *Tag, err error)

Create a tag

func (*AccessTagService) Update

func (r *AccessTagService) Update(ctx context.Context, accountID string, tagName string, body AccessTagUpdateParams, opts ...option.RequestOption) (res *Tag, err error)

Update a tag

type AccessTagUpdateParams

type AccessTagUpdateParams struct {
	// The name of the tag
	Name param.Field[string] `json:"name,required"`
}

func (AccessTagUpdateParams) MarshalJSON

func (r AccessTagUpdateParams) MarshalJSON() (data []byte, err error)

type AccessTagUpdateResponseEnvelope

type AccessTagUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessTagUpdateResponseEnvelopeSuccess `json:"success,required"`
	// A tag
	Result Tag                                 `json:"result"`
	JSON   accessTagUpdateResponseEnvelopeJSON `json:"-"`
}

func (*AccessTagUpdateResponseEnvelope) UnmarshalJSON

func (r *AccessTagUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessTagUpdateResponseEnvelopeSuccess

type AccessTagUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessTagUpdateResponseEnvelopeSuccessTrue AccessTagUpdateResponseEnvelopeSuccess = true
)

func (AccessTagUpdateResponseEnvelopeSuccess) IsKnown

type AccessUser

type AccessUser struct {
	// UUID
	ID string `json:"id"`
	// True if the user has authenticated with Cloudflare Access.
	AccessSeat bool `json:"access_seat"`
	// The number of active devices registered to the user.
	ActiveDeviceCount float64   `json:"active_device_count"`
	CreatedAt         time.Time `json:"created_at" format:"date-time"`
	// The email of the user.
	Email string `json:"email" format:"email"`
	// True if the user has logged into the WARP client.
	GatewaySeat bool `json:"gateway_seat"`
	// The time at which the user last successfully logged in.
	LastSuccessfulLogin time.Time `json:"last_successful_login" format:"date-time"`
	// The name of the user.
	Name string `json:"name"`
	// The unique API identifier for the Zero Trust seat.
	SeatUID string `json:"seat_uid"`
	// The unique API identifier for the user.
	UID       string         `json:"uid"`
	UpdatedAt time.Time      `json:"updated_at" format:"date-time"`
	JSON      accessUserJSON `json:"-"`
}

func (*AccessUser) UnmarshalJSON

func (r *AccessUser) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionGetResponse

type AccessUserActiveSessionGetResponse struct {
	AccountID          string                                                     `json:"account_id"`
	AuthStatus         string                                                     `json:"auth_status"`
	CommonName         string                                                     `json:"common_name"`
	DeviceID           string                                                     `json:"device_id"`
	DeviceSessions     map[string]AccessUserActiveSessionGetResponseDeviceSession `json:"device_sessions"`
	DevicePosture      map[string]AccessUserActiveSessionGetResponseDevicePosture `json:"devicePosture"`
	Email              string                                                     `json:"email"`
	Geo                UserPolicyCheckGeo                                         `json:"geo"`
	Iat                float64                                                    `json:"iat"`
	IdP                AccessUserActiveSessionGetResponseIdP                      `json:"idp"`
	IP                 string                                                     `json:"ip"`
	IsGateway          bool                                                       `json:"is_gateway"`
	IsWARP             bool                                                       `json:"is_warp"`
	IsActive           bool                                                       `json:"isActive"`
	MTLSAuth           AccessUserActiveSessionGetResponseMTLSAuth                 `json:"mtls_auth"`
	ServiceTokenID     string                                                     `json:"service_token_id"`
	ServiceTokenStatus bool                                                       `json:"service_token_status"`
	UserUUID           string                                                     `json:"user_uuid"`
	Version            float64                                                    `json:"version"`
	JSON               accessUserActiveSessionGetResponseJSON                     `json:"-"`
}

func (*AccessUserActiveSessionGetResponse) UnmarshalJSON

func (r *AccessUserActiveSessionGetResponse) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionGetResponseDevicePosture

type AccessUserActiveSessionGetResponseDevicePosture struct {
	ID          string                                               `json:"id"`
	Check       AccessUserActiveSessionGetResponseDevicePostureCheck `json:"check"`
	Data        interface{}                                          `json:"data"`
	Description string                                               `json:"description"`
	Error       string                                               `json:"error"`
	RuleName    string                                               `json:"rule_name"`
	Success     bool                                                 `json:"success"`
	Timestamp   string                                               `json:"timestamp"`
	Type        string                                               `json:"type"`
	JSON        accessUserActiveSessionGetResponseDevicePostureJSON  `json:"-"`
}

func (*AccessUserActiveSessionGetResponseDevicePosture) UnmarshalJSON

func (r *AccessUserActiveSessionGetResponseDevicePosture) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionGetResponseDevicePostureCheck

type AccessUserActiveSessionGetResponseDevicePostureCheck struct {
	Exists bool                                                     `json:"exists"`
	Path   string                                                   `json:"path"`
	JSON   accessUserActiveSessionGetResponseDevicePostureCheckJSON `json:"-"`
}

func (*AccessUserActiveSessionGetResponseDevicePostureCheck) UnmarshalJSON

func (r *AccessUserActiveSessionGetResponseDevicePostureCheck) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionGetResponseDeviceSession

type AccessUserActiveSessionGetResponseDeviceSession struct {
	LastAuthenticated float64                                             `json:"last_authenticated"`
	JSON              accessUserActiveSessionGetResponseDeviceSessionJSON `json:"-"`
}

func (*AccessUserActiveSessionGetResponseDeviceSession) UnmarshalJSON

func (r *AccessUserActiveSessionGetResponseDeviceSession) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionGetResponseEnvelope

type AccessUserActiveSessionGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessUserActiveSessionGetResponseEnvelopeSuccess `json:"success,required"`
	Result  AccessUserActiveSessionGetResponse                `json:"result"`
	JSON    accessUserActiveSessionGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessUserActiveSessionGetResponseEnvelope) UnmarshalJSON

func (r *AccessUserActiveSessionGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionGetResponseEnvelopeSuccess

type AccessUserActiveSessionGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessUserActiveSessionGetResponseEnvelopeSuccessTrue AccessUserActiveSessionGetResponseEnvelopeSuccess = true
)

func (AccessUserActiveSessionGetResponseEnvelopeSuccess) IsKnown

type AccessUserActiveSessionGetResponseIdP

type AccessUserActiveSessionGetResponseIdP struct {
	ID   string                                    `json:"id"`
	Type string                                    `json:"type"`
	JSON accessUserActiveSessionGetResponseIdPJSON `json:"-"`
}

func (*AccessUserActiveSessionGetResponseIdP) UnmarshalJSON

func (r *AccessUserActiveSessionGetResponseIdP) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionGetResponseMTLSAuth

type AccessUserActiveSessionGetResponseMTLSAuth struct {
	AuthStatus    string                                         `json:"auth_status"`
	CERTIssuerDn  string                                         `json:"cert_issuer_dn"`
	CERTIssuerSki string                                         `json:"cert_issuer_ski"`
	CERTPresented bool                                           `json:"cert_presented"`
	CERTSerial    string                                         `json:"cert_serial"`
	JSON          accessUserActiveSessionGetResponseMTLSAuthJSON `json:"-"`
}

func (*AccessUserActiveSessionGetResponseMTLSAuth) UnmarshalJSON

func (r *AccessUserActiveSessionGetResponseMTLSAuth) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionListResponse

type AccessUserActiveSessionListResponse struct {
	Expiration int64                                       `json:"expiration"`
	Metadata   AccessUserActiveSessionListResponseMetadata `json:"metadata"`
	Name       string                                      `json:"name"`
	JSON       accessUserActiveSessionListResponseJSON     `json:"-"`
}

func (*AccessUserActiveSessionListResponse) UnmarshalJSON

func (r *AccessUserActiveSessionListResponse) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionListResponseMetadata

type AccessUserActiveSessionListResponseMetadata struct {
	Apps    map[string]AccessUserActiveSessionListResponseMetadataApp `json:"apps"`
	Expires int64                                                     `json:"expires"`
	Iat     int64                                                     `json:"iat"`
	Nonce   string                                                    `json:"nonce"`
	TTL     int64                                                     `json:"ttl"`
	JSON    accessUserActiveSessionListResponseMetadataJSON           `json:"-"`
}

func (*AccessUserActiveSessionListResponseMetadata) UnmarshalJSON

func (r *AccessUserActiveSessionListResponseMetadata) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionListResponseMetadataApp

type AccessUserActiveSessionListResponseMetadataApp struct {
	Hostname string                                             `json:"hostname"`
	Name     string                                             `json:"name"`
	Type     string                                             `json:"type"`
	UID      string                                             `json:"uid"`
	JSON     accessUserActiveSessionListResponseMetadataAppJSON `json:"-"`
}

func (*AccessUserActiveSessionListResponseMetadataApp) UnmarshalJSON

func (r *AccessUserActiveSessionListResponseMetadataApp) UnmarshalJSON(data []byte) (err error)

type AccessUserActiveSessionService

type AccessUserActiveSessionService struct {
	Options []option.RequestOption
}

AccessUserActiveSessionService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessUserActiveSessionService method instead.

func NewAccessUserActiveSessionService

func NewAccessUserActiveSessionService(opts ...option.RequestOption) (r *AccessUserActiveSessionService)

NewAccessUserActiveSessionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessUserActiveSessionService) Get

Get an active session for a single user.

func (*AccessUserActiveSessionService) List

Get active sessions for a single user.

func (*AccessUserActiveSessionService) ListAutoPaging

Get active sessions for a single user.

type AccessUserFailedLoginListResponse

type AccessUserFailedLoginListResponse struct {
	Expiration int64                                 `json:"expiration"`
	Metadata   interface{}                           `json:"metadata"`
	JSON       accessUserFailedLoginListResponseJSON `json:"-"`
}

func (*AccessUserFailedLoginListResponse) UnmarshalJSON

func (r *AccessUserFailedLoginListResponse) UnmarshalJSON(data []byte) (err error)

type AccessUserFailedLoginService

type AccessUserFailedLoginService struct {
	Options []option.RequestOption
}

AccessUserFailedLoginService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessUserFailedLoginService method instead.

func NewAccessUserFailedLoginService

func NewAccessUserFailedLoginService(opts ...option.RequestOption) (r *AccessUserFailedLoginService)

NewAccessUserFailedLoginService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessUserFailedLoginService) List

Get all failed login attempts for a single user.

func (*AccessUserFailedLoginService) ListAutoPaging

Get all failed login attempts for a single user.

type AccessUserLastSeenIdentityGetResponseEnvelope

type AccessUserLastSeenIdentityGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success AccessUserLastSeenIdentityGetResponseEnvelopeSuccess `json:"success,required"`
	Result  Identity                                             `json:"result"`
	JSON    accessUserLastSeenIdentityGetResponseEnvelopeJSON    `json:"-"`
}

func (*AccessUserLastSeenIdentityGetResponseEnvelope) UnmarshalJSON

func (r *AccessUserLastSeenIdentityGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type AccessUserLastSeenIdentityGetResponseEnvelopeSuccess

type AccessUserLastSeenIdentityGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	AccessUserLastSeenIdentityGetResponseEnvelopeSuccessTrue AccessUserLastSeenIdentityGetResponseEnvelopeSuccess = true
)

func (AccessUserLastSeenIdentityGetResponseEnvelopeSuccess) IsKnown

type AccessUserLastSeenIdentityService

type AccessUserLastSeenIdentityService struct {
	Options []option.RequestOption
}

AccessUserLastSeenIdentityService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessUserLastSeenIdentityService method instead.

func NewAccessUserLastSeenIdentityService

func NewAccessUserLastSeenIdentityService(opts ...option.RequestOption) (r *AccessUserLastSeenIdentityService)

NewAccessUserLastSeenIdentityService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessUserLastSeenIdentityService) Get

func (r *AccessUserLastSeenIdentityService) Get(ctx context.Context, accountID string, userID string, opts ...option.RequestOption) (res *Identity, err error)

Get last seen identity for a single user.

type AccessUserService

type AccessUserService struct {
	Options          []option.RequestOption
	ActiveSessions   *AccessUserActiveSessionService
	LastSeenIdentity *AccessUserLastSeenIdentityService
	FailedLogins     *AccessUserFailedLoginService
}

AccessUserService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAccessUserService method instead.

func NewAccessUserService

func NewAccessUserService(opts ...option.RequestOption) (r *AccessUserService)

NewAccessUserService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AccessUserService) List

func (r *AccessUserService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[AccessUser], err error)

Gets a list of users for an account.

func (*AccessUserService) ListAutoPaging

Gets a list of users for an account.

type ActivityLogSettings

type ActivityLogSettings struct {
	// Enable activity logging.
	Enabled bool                    `json:"enabled"`
	JSON    activityLogSettingsJSON `json:"-"`
}

Activity log settings.

func (*ActivityLogSettings) UnmarshalJSON

func (r *ActivityLogSettings) UnmarshalJSON(data []byte) (err error)

type ActivityLogSettingsParam

type ActivityLogSettingsParam struct {
	// Enable activity logging.
	Enabled param.Field[bool] `json:"enabled"`
}

Activity log settings.

func (ActivityLogSettingsParam) MarshalJSON

func (r ActivityLogSettingsParam) MarshalJSON() (data []byte, err error)

type AggregateTimePeriod

type AggregateTimePeriod struct {
	Units AggregateTimePeriodUnits `json:"units,required"`
	Value int64                    `json:"value,required"`
	JSON  aggregateTimePeriodJSON  `json:"-"`
}

func (*AggregateTimePeriod) UnmarshalJSON

func (r *AggregateTimePeriod) UnmarshalJSON(data []byte) (err error)

type AggregateTimePeriodUnits

type AggregateTimePeriodUnits string
const (
	AggregateTimePeriodUnitsHours    AggregateTimePeriodUnits = "hours"
	AggregateTimePeriodUnitsDays     AggregateTimePeriodUnits = "days"
	AggregateTimePeriodUnitsTestRuns AggregateTimePeriodUnits = "testRuns"
)

func (AggregateTimePeriodUnits) IsKnown

func (r AggregateTimePeriodUnits) IsKnown() bool

type AllowedHeaders

type AllowedHeaders = string

type AllowedHeadersParam

type AllowedHeadersParam = string

type AllowedIdPs

type AllowedIdPs = string

type AllowedIdPsParam

type AllowedIdPsParam = string

type AllowedMethods

type AllowedMethods string
const (
	AllowedMethodsGet     AllowedMethods = "GET"
	AllowedMethodsPost    AllowedMethods = "POST"
	AllowedMethodsHead    AllowedMethods = "HEAD"
	AllowedMethodsPut     AllowedMethods = "PUT"
	AllowedMethodsDelete  AllowedMethods = "DELETE"
	AllowedMethodsConnect AllowedMethods = "CONNECT"
	AllowedMethodsOptions AllowedMethods = "OPTIONS"
	AllowedMethodsTrace   AllowedMethods = "TRACE"
	AllowedMethodsPatch   AllowedMethods = "PATCH"
)

func (AllowedMethods) IsKnown

func (r AllowedMethods) IsKnown() bool

type AllowedOrigins

type AllowedOrigins = string

type AllowedOriginsParam

type AllowedOriginsParam = string

type AntiVirusSettings

type AntiVirusSettings struct {
	// Enable anti-virus scanning on downloads.
	EnabledDownloadPhase bool `json:"enabled_download_phase"`
	// Enable anti-virus scanning on uploads.
	EnabledUploadPhase bool `json:"enabled_upload_phase"`
	// Block requests for files that cannot be scanned.
	FailClosed bool `json:"fail_closed"`
	// Configure a message to display on the user's device when an antivirus search is
	// performed.
	NotificationSettings NotificationSettings  `json:"notification_settings"`
	JSON                 antiVirusSettingsJSON `json:"-"`
}

Anti-virus settings.

func (*AntiVirusSettings) UnmarshalJSON

func (r *AntiVirusSettings) UnmarshalJSON(data []byte) (err error)

type AntiVirusSettingsParam

type AntiVirusSettingsParam struct {
	// Enable anti-virus scanning on downloads.
	EnabledDownloadPhase param.Field[bool] `json:"enabled_download_phase"`
	// Enable anti-virus scanning on uploads.
	EnabledUploadPhase param.Field[bool] `json:"enabled_upload_phase"`
	// Block requests for files that cannot be scanned.
	FailClosed param.Field[bool] `json:"fail_closed"`
	// Configure a message to display on the user's device when an antivirus search is
	// performed.
	NotificationSettings param.Field[NotificationSettingsParam] `json:"notification_settings"`
}

Anti-virus settings.

func (AntiVirusSettingsParam) MarshalJSON

func (r AntiVirusSettingsParam) MarshalJSON() (data []byte, err error)

type AnyValidServiceTokenRule

type AnyValidServiceTokenRule struct {
	// An empty object which matches on all service tokens.
	AnyValidServiceToken interface{}                  `json:"any_valid_service_token,required"`
	JSON                 anyValidServiceTokenRuleJSON `json:"-"`
}

Matches any valid Access Service Token

func (*AnyValidServiceTokenRule) UnmarshalJSON

func (r *AnyValidServiceTokenRule) UnmarshalJSON(data []byte) (err error)

type AnyValidServiceTokenRuleParam

type AnyValidServiceTokenRuleParam struct {
	// An empty object which matches on all service tokens.
	AnyValidServiceToken param.Field[interface{}] `json:"any_valid_service_token,required"`
}

Matches any valid Access Service Token

func (AnyValidServiceTokenRuleParam) MarshalJSON

func (r AnyValidServiceTokenRuleParam) MarshalJSON() (data []byte, err error)

type AppIDParam

type AppIDParam = string

type AppType

type AppType struct {
	// The identifier for the type of this application. There can be many applications
	// with the same type. This refers to the `id` of a returned application type.
	ApplicationTypeID int64     `json:"application_type_id"`
	CreatedAt         time.Time `json:"created_at" format:"date-time"`
	// The identifier for this application. There is only one application per ID.
	ID int64 `json:"id"`
	// The name of the application or application type.
	Name string `json:"name"`
	// A short summary of applications with this type.
	Description string      `json:"description"`
	JSON        appTypeJSON `json:"-"`
	// contains filtered or unexported fields
}

func (AppType) AsUnion

func (r AppType) AsUnion() AppTypeUnion

AsUnion returns a AppTypeUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are zero_trust.AppTypeZeroTrustGatewayApplication, zero_trust.AppTypeZeroTrustGatewayApplicationType.

func (*AppType) UnmarshalJSON

func (r *AppType) UnmarshalJSON(data []byte) (err error)

type AppTypeUnion

type AppTypeUnion interface {
	// contains filtered or unexported methods
}

Union satisfied by zero_trust.AppTypeZeroTrustGatewayApplication or zero_trust.AppTypeZeroTrustGatewayApplicationType.

type AppTypeZeroTrustGatewayApplication

type AppTypeZeroTrustGatewayApplication struct {
	// The identifier for this application. There is only one application per ID.
	ID int64 `json:"id"`
	// The identifier for the type of this application. There can be many applications
	// with the same type. This refers to the `id` of a returned application type.
	ApplicationTypeID int64     `json:"application_type_id"`
	CreatedAt         time.Time `json:"created_at" format:"date-time"`
	// The name of the application or application type.
	Name string                                 `json:"name"`
	JSON appTypeZeroTrustGatewayApplicationJSON `json:"-"`
}

func (*AppTypeZeroTrustGatewayApplication) UnmarshalJSON

func (r *AppTypeZeroTrustGatewayApplication) UnmarshalJSON(data []byte) (err error)

type AppTypeZeroTrustGatewayApplicationType

type AppTypeZeroTrustGatewayApplicationType struct {
	// The identifier for the type of this application. There can be many applications
	// with the same type. This refers to the `id` of a returned application type.
	ID        int64     `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// A short summary of applications with this type.
	Description string `json:"description"`
	// The name of the application or application type.
	Name string                                     `json:"name"`
	JSON appTypeZeroTrustGatewayApplicationTypeJSON `json:"-"`
}

func (*AppTypeZeroTrustGatewayApplicationType) UnmarshalJSON

func (r *AppTypeZeroTrustGatewayApplicationType) UnmarshalJSON(data []byte) (err error)

type ApplicationPolicy

type ApplicationPolicy struct {
	// The UUID of the policy
	ID string `json:"id"`
	// Administrators who can approve a temporary authentication request.
	ApprovalGroups []ApprovalGroup `json:"approval_groups"`
	// Requires the user to request access from an administrator at the start of each
	// session.
	ApprovalRequired bool      `json:"approval_required"`
	CreatedAt        time.Time `json:"created_at" format:"date-time"`
	// The action Access will take if a user matches this policy.
	Decision Decision `json:"decision"`
	// Rules evaluated with a NOT logical operator. To match the policy, a user cannot
	// meet any of the Exclude rules.
	Exclude []AccessRule `json:"exclude"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include []AccessRule `json:"include"`
	// Require this application to be served in an isolated browser for users matching
	// this policy. 'Client Web Isolation' must be on for the account in order to use
	// this feature.
	IsolationRequired bool `json:"isolation_required"`
	// The name of the Access policy.
	Name string `json:"name"`
	// A custom message that will appear on the purpose justification screen.
	PurposeJustificationPrompt string `json:"purpose_justification_prompt"`
	// Require users to enter a justification when they log in to the application.
	PurposeJustificationRequired bool `json:"purpose_justification_required"`
	// Rules evaluated with an AND logical operator. To match the policy, a user must
	// meet all of the Require rules.
	Require []AccessRule `json:"require"`
	// The amount of time that tokens issued for the application will be valid. Must be
	// in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s,
	// m, h.
	SessionDuration string                `json:"session_duration"`
	UpdatedAt       time.Time             `json:"updated_at" format:"date-time"`
	JSON            applicationPolicyJSON `json:"-"`
}

func (*ApplicationPolicy) UnmarshalJSON

func (r *ApplicationPolicy) UnmarshalJSON(data []byte) (err error)

type ApplicationType

type ApplicationType string

The application type.

const (
	ApplicationTypeSelfHosted  ApplicationType = "self_hosted"
	ApplicationTypeSaaS        ApplicationType = "saas"
	ApplicationTypeSSH         ApplicationType = "ssh"
	ApplicationTypeVNC         ApplicationType = "vnc"
	ApplicationTypeAppLauncher ApplicationType = "app_launcher"
	ApplicationTypeWARP        ApplicationType = "warp"
	ApplicationTypeBISO        ApplicationType = "biso"
	ApplicationTypeBookmark    ApplicationType = "bookmark"
	ApplicationTypeDashSSO     ApplicationType = "dash_sso"
)

func (ApplicationType) IsKnown

func (r ApplicationType) IsKnown() bool

type ApprovalGroup

type ApprovalGroup struct {
	// The number of approvals needed to obtain access.
	ApprovalsNeeded float64 `json:"approvals_needed,required"`
	// A list of emails that can approve the access request.
	EmailAddresses []string `json:"email_addresses"`
	// The UUID of an re-usable email list.
	EmailListUUID string            `json:"email_list_uuid"`
	JSON          approvalGroupJSON `json:"-"`
}

A group of email addresses that can approve a temporary authentication request.

func (*ApprovalGroup) UnmarshalJSON

func (r *ApprovalGroup) UnmarshalJSON(data []byte) (err error)

type ApprovalGroupParam

type ApprovalGroupParam struct {
	// The number of approvals needed to obtain access.
	ApprovalsNeeded param.Field[float64] `json:"approvals_needed,required"`
	// A list of emails that can approve the access request.
	EmailAddresses param.Field[[]string] `json:"email_addresses"`
	// The UUID of an re-usable email list.
	EmailListUUID param.Field[string] `json:"email_list_uuid"`
}

A group of email addresses that can approve a temporary authentication request.

func (ApprovalGroupParam) MarshalJSON

func (r ApprovalGroupParam) MarshalJSON() (data []byte, err error)

type AssociatedHostnames

type AssociatedHostnames = string

type AssociatedHostnamesParam

type AssociatedHostnamesParam = string

type AuditLog

type AuditLog = shared.AuditLog

This is an alias to an internal type.

type AuditLogAction

type AuditLogAction = shared.AuditLogAction

This is an alias to an internal type.

type AuditLogActor

type AuditLogActor = shared.AuditLogActor

This is an alias to an internal type.

type AuditLogActorType

type AuditLogActorType = shared.AuditLogActorType

The type of actor, whether a User, Cloudflare Admin, or an Automated System.

This is an alias to an internal type.

type AuditLogOwner

type AuditLogOwner = shared.AuditLogOwner

This is an alias to an internal type.

type AuditLogResource

type AuditLogResource = shared.AuditLogResource

This is an alias to an internal type.

type AuthenticationMethodRule

type AuthenticationMethodRule struct {
	AuthMethod AuthenticationMethodRuleAuthMethod `json:"auth_method,required"`
	JSON       authenticationMethodRuleJSON       `json:"-"`
}

Enforce different MFA options

func (*AuthenticationMethodRule) UnmarshalJSON

func (r *AuthenticationMethodRule) UnmarshalJSON(data []byte) (err error)

type AuthenticationMethodRuleAuthMethod

type AuthenticationMethodRuleAuthMethod struct {
	// The type of authentication method https://datatracker.ietf.org/doc/html/rfc8176.
	AuthMethod string                                 `json:"auth_method,required"`
	JSON       authenticationMethodRuleAuthMethodJSON `json:"-"`
}

func (*AuthenticationMethodRuleAuthMethod) UnmarshalJSON

func (r *AuthenticationMethodRuleAuthMethod) UnmarshalJSON(data []byte) (err error)

type AuthenticationMethodRuleAuthMethodParam

type AuthenticationMethodRuleAuthMethodParam struct {
	// The type of authentication method https://datatracker.ietf.org/doc/html/rfc8176.
	AuthMethod param.Field[string] `json:"auth_method,required"`
}

func (AuthenticationMethodRuleAuthMethodParam) MarshalJSON

func (r AuthenticationMethodRuleAuthMethodParam) MarshalJSON() (data []byte, err error)

type AuthenticationMethodRuleParam

type AuthenticationMethodRuleParam struct {
	AuthMethod param.Field[AuthenticationMethodRuleAuthMethodParam] `json:"auth_method,required"`
}

Enforce different MFA options

func (AuthenticationMethodRuleParam) MarshalJSON

func (r AuthenticationMethodRuleParam) MarshalJSON() (data []byte, err error)

type AzureAD

type AzureAD struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config AzureADConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig `json:"scim_config"`
	JSON       azureADJSON                `json:"-"`
}

func (*AzureAD) UnmarshalJSON

func (r *AzureAD) UnmarshalJSON(data []byte) (err error)

type AzureADConfig

type AzureADConfig struct {
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// Should Cloudflare try to load authentication contexts from your account
	ConditionalAccessEnabled bool `json:"conditional_access_enabled"`
	// Your Azure directory uuid
	DirectoryID string `json:"directory_id"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// Indicates the type of user interaction that is required. prompt=login forces the
	// user to enter their credentials on that request, negating single-sign on.
	// prompt=none is the opposite. It ensures that the user isn't presented with any
	// interactive prompt. If the request can't be completed silently by using
	// single-sign on, the Microsoft identity platform returns an interaction_required
	// error. prompt=select_account interrupts single sign-on providing account
	// selection experience listing all the accounts either in session or any
	// remembered account or an option to choose to use a different account altogether.
	Prompt AzureADConfigPrompt `json:"prompt"`
	// Should Cloudflare try to load groups from your account
	SupportGroups bool              `json:"support_groups"`
	JSON          azureADConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*AzureADConfig) UnmarshalJSON

func (r *AzureADConfig) UnmarshalJSON(data []byte) (err error)

type AzureADConfigParam

type AzureADConfigParam struct {
	// Custom claims
	Claims param.Field[[]string] `json:"claims"`
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
	// Should Cloudflare try to load authentication contexts from your account
	ConditionalAccessEnabled param.Field[bool] `json:"conditional_access_enabled"`
	// Your Azure directory uuid
	DirectoryID param.Field[string] `json:"directory_id"`
	// The claim name for email in the id_token response.
	EmailClaimName param.Field[string] `json:"email_claim_name"`
	// Indicates the type of user interaction that is required. prompt=login forces the
	// user to enter their credentials on that request, negating single-sign on.
	// prompt=none is the opposite. It ensures that the user isn't presented with any
	// interactive prompt. If the request can't be completed silently by using
	// single-sign on, the Microsoft identity platform returns an interaction_required
	// error. prompt=select_account interrupts single sign-on providing account
	// selection experience listing all the accounts either in session or any
	// remembered account or an option to choose to use a different account altogether.
	Prompt param.Field[AzureADConfigPrompt] `json:"prompt"`
	// Should Cloudflare try to load groups from your account
	SupportGroups param.Field[bool] `json:"support_groups"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (AzureADConfigParam) MarshalJSON

func (r AzureADConfigParam) MarshalJSON() (data []byte, err error)

type AzureADConfigPrompt

type AzureADConfigPrompt string

Indicates the type of user interaction that is required. prompt=login forces the user to enter their credentials on that request, negating single-sign on. prompt=none is the opposite. It ensures that the user isn't presented with any interactive prompt. If the request can't be completed silently by using single-sign on, the Microsoft identity platform returns an interaction_required error. prompt=select_account interrupts single sign-on providing account selection experience listing all the accounts either in session or any remembered account or an option to choose to use a different account altogether.

const (
	AzureADConfigPromptLogin         AzureADConfigPrompt = "login"
	AzureADConfigPromptSelectAccount AzureADConfigPrompt = "select_account"
	AzureADConfigPromptNone          AzureADConfigPrompt = "none"
)

func (AzureADConfigPrompt) IsKnown

func (r AzureADConfigPrompt) IsKnown() bool

type AzureADParam

type AzureADParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[AzureADConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (AzureADParam) MarshalJSON

func (r AzureADParam) MarshalJSON() (data []byte, err error)

type AzureGroupRule

type AzureGroupRule struct {
	AzureAD AzureGroupRuleAzureAD `json:"azureAD,required"`
	JSON    azureGroupRuleJSON    `json:"-"`
}

Matches an Azure group. Requires an Azure identity provider.

func (*AzureGroupRule) UnmarshalJSON

func (r *AzureGroupRule) UnmarshalJSON(data []byte) (err error)

type AzureGroupRuleAzureAD

type AzureGroupRuleAzureAD struct {
	// The ID of an Azure group.
	ID string `json:"id,required"`
	// The ID of your Azure identity provider.
	ConnectionID string                    `json:"connection_id,required"`
	JSON         azureGroupRuleAzureADJSON `json:"-"`
}

func (*AzureGroupRuleAzureAD) UnmarshalJSON

func (r *AzureGroupRuleAzureAD) UnmarshalJSON(data []byte) (err error)

type AzureGroupRuleAzureADParam

type AzureGroupRuleAzureADParam struct {
	// The ID of an Azure group.
	ID param.Field[string] `json:"id,required"`
	// The ID of your Azure identity provider.
	ConnectionID param.Field[string] `json:"connection_id,required"`
}

func (AzureGroupRuleAzureADParam) MarshalJSON

func (r AzureGroupRuleAzureADParam) MarshalJSON() (data []byte, err error)

type AzureGroupRuleParam

type AzureGroupRuleParam struct {
	AzureAD param.Field[AzureGroupRuleAzureADParam] `json:"azureAD,required"`
}

Matches an Azure group. Requires an Azure identity provider.

func (AzureGroupRuleParam) MarshalJSON

func (r AzureGroupRuleParam) MarshalJSON() (data []byte, err error)

type BlockPageSettings

type BlockPageSettings struct {
	// Block page background color in #rrggbb format.
	BackgroundColor string `json:"background_color"`
	// Enable only cipher suites and TLS versions compliant with FIPS 140-2.
	Enabled bool `json:"enabled"`
	// Block page footer text.
	FooterText string `json:"footer_text"`
	// Block page header text.
	HeaderText string `json:"header_text"`
	// Full URL to the logo file.
	LogoPath string `json:"logo_path"`
	// Admin email for users to contact.
	MailtoAddress string `json:"mailto_address"`
	// Subject line for emails created from block page.
	MailtoSubject string `json:"mailto_subject"`
	// Block page title.
	Name string `json:"name"`
	// Suppress detailed info at the bottom of the block page.
	SuppressFooter bool                  `json:"suppress_footer"`
	JSON           blockPageSettingsJSON `json:"-"`
}

Block page layout settings.

func (*BlockPageSettings) UnmarshalJSON

func (r *BlockPageSettings) UnmarshalJSON(data []byte) (err error)

type BlockPageSettingsParam

type BlockPageSettingsParam struct {
	// Block page background color in #rrggbb format.
	BackgroundColor param.Field[string] `json:"background_color"`
	// Enable only cipher suites and TLS versions compliant with FIPS 140-2.
	Enabled param.Field[bool] `json:"enabled"`
	// Block page footer text.
	FooterText param.Field[string] `json:"footer_text"`
	// Block page header text.
	HeaderText param.Field[string] `json:"header_text"`
	// Full URL to the logo file.
	LogoPath param.Field[string] `json:"logo_path"`
	// Admin email for users to contact.
	MailtoAddress param.Field[string] `json:"mailto_address"`
	// Subject line for emails created from block page.
	MailtoSubject param.Field[string] `json:"mailto_subject"`
	// Block page title.
	Name param.Field[string] `json:"name"`
	// Suppress detailed info at the bottom of the block page.
	SuppressFooter param.Field[bool] `json:"suppress_footer"`
}

Block page layout settings.

func (BlockPageSettingsParam) MarshalJSON

func (r BlockPageSettingsParam) MarshalJSON() (data []byte, err error)

type BodyScanningSettings

type BodyScanningSettings struct {
	// Set the inspection mode to either `deep` or `shallow`.
	InspectionMode string                   `json:"inspection_mode"`
	JSON           bodyScanningSettingsJSON `json:"-"`
}

DLP body scanning settings.

func (*BodyScanningSettings) UnmarshalJSON

func (r *BodyScanningSettings) UnmarshalJSON(data []byte) (err error)

type BodyScanningSettingsParam

type BodyScanningSettingsParam struct {
	// Set the inspection mode to either `deep` or `shallow`.
	InspectionMode param.Field[string] `json:"inspection_mode"`
}

DLP body scanning settings.

func (BodyScanningSettingsParam) MarshalJSON

func (r BodyScanningSettingsParam) MarshalJSON() (data []byte, err error)

type Bookmark

type Bookmark struct {
	// The unique identifier for the Bookmark application.
	ID string `json:"id"`
	// Displays the application in the App Launcher.
	AppLauncherVisible bool      `json:"app_launcher_visible"`
	CreatedAt          time.Time `json:"created_at" format:"date-time"`
	// The domain of the Bookmark application.
	Domain string `json:"domain"`
	// The image URL for the logo shown in the App Launcher dashboard.
	LogoURL string `json:"logo_url"`
	// The name of the Bookmark application.
	Name      string       `json:"name"`
	UpdatedAt time.Time    `json:"updated_at" format:"date-time"`
	JSON      bookmarkJSON `json:"-"`
}

func (*Bookmark) UnmarshalJSON

func (r *Bookmark) UnmarshalJSON(data []byte) (err error)

type BrowserIsolationSettings

type BrowserIsolationSettings struct {
	// Enable non-identity onramp support for Browser Isolation.
	NonIdentityEnabled bool `json:"non_identity_enabled"`
	// Enable Clientless Browser Isolation.
	URLBrowserIsolationEnabled bool                         `json:"url_browser_isolation_enabled"`
	JSON                       browserIsolationSettingsJSON `json:"-"`
}

Browser isolation settings.

func (*BrowserIsolationSettings) UnmarshalJSON

func (r *BrowserIsolationSettings) UnmarshalJSON(data []byte) (err error)

type BrowserIsolationSettingsParam

type BrowserIsolationSettingsParam struct {
	// Enable non-identity onramp support for Browser Isolation.
	NonIdentityEnabled param.Field[bool] `json:"non_identity_enabled"`
	// Enable Clientless Browser Isolation.
	URLBrowserIsolationEnabled param.Field[bool] `json:"url_browser_isolation_enabled"`
}

Browser isolation settings.

func (BrowserIsolationSettingsParam) MarshalJSON

func (r BrowserIsolationSettingsParam) MarshalJSON() (data []byte, err error)

type CA

type CA struct {
	// The ID of the CA.
	ID string `json:"id"`
	// The Application Audience (AUD) tag. Identifies the application associated with
	// the CA.
	AUD string `json:"aud"`
	// The public key to add to your SSH server configuration.
	PublicKey string `json:"public_key"`
	JSON      caJSON `json:"-"`
}

func (*CA) UnmarshalJSON

func (r *CA) UnmarshalJSON(data []byte) (err error)

type CORSHeaders

type CORSHeaders struct {
	// Allows all HTTP request headers.
	AllowAllHeaders bool `json:"allow_all_headers"`
	// Allows all HTTP request methods.
	AllowAllMethods bool `json:"allow_all_methods"`
	// Allows all origins.
	AllowAllOrigins bool `json:"allow_all_origins"`
	// When set to `true`, includes credentials (cookies, authorization headers, or TLS
	// client certificates) with requests.
	AllowCredentials bool `json:"allow_credentials"`
	// Allowed HTTP request headers.
	AllowedHeaders []AllowedHeaders `json:"allowed_headers"`
	// Allowed HTTP request methods.
	AllowedMethods []AllowedMethods `json:"allowed_methods"`
	// Allowed origins.
	AllowedOrigins []AllowedOrigins `json:"allowed_origins"`
	// The maximum number of seconds the results of a preflight request can be cached.
	MaxAge float64         `json:"max_age"`
	JSON   corsHeadersJSON `json:"-"`
}

func (*CORSHeaders) UnmarshalJSON

func (r *CORSHeaders) UnmarshalJSON(data []byte) (err error)

type CORSHeadersParam

type CORSHeadersParam struct {
	// Allows all HTTP request headers.
	AllowAllHeaders param.Field[bool] `json:"allow_all_headers"`
	// Allows all HTTP request methods.
	AllowAllMethods param.Field[bool] `json:"allow_all_methods"`
	// Allows all origins.
	AllowAllOrigins param.Field[bool] `json:"allow_all_origins"`
	// When set to `true`, includes credentials (cookies, authorization headers, or TLS
	// client certificates) with requests.
	AllowCredentials param.Field[bool] `json:"allow_credentials"`
	// Allowed HTTP request headers.
	AllowedHeaders param.Field[[]AllowedHeadersParam] `json:"allowed_headers"`
	// Allowed HTTP request methods.
	AllowedMethods param.Field[[]AllowedMethods] `json:"allowed_methods"`
	// Allowed origins.
	AllowedOrigins param.Field[[]AllowedOriginsParam] `json:"allowed_origins"`
	// The maximum number of seconds the results of a preflight request can be cached.
	MaxAge param.Field[float64] `json:"max_age"`
}

func (CORSHeadersParam) MarshalJSON

func (r CORSHeadersParam) MarshalJSON() (data []byte, err error)

type CarbonblackInput

type CarbonblackInput = string

type CarbonblackInputParam

type CarbonblackInputParam = string

type Category

type Category struct {
	// The identifier for this category. There is only one category per ID.
	ID int64 `json:"id"`
	// True if the category is in beta and subject to change.
	Beta bool `json:"beta"`
	// Which account types are allowed to create policies based on this category.
	// `blocked` categories are blocked unconditionally for all accounts.
	// `removalPending` categories can be removed from policies but not added.
	// `noBlock` categories cannot be blocked.
	Class CategoryClass `json:"class"`
	// A short summary of domains in the category.
	Description string `json:"description"`
	// The name of the category.
	Name string `json:"name"`
	// All subcategories for this category.
	Subcategories []CategorySubcategory `json:"subcategories"`
	JSON          categoryJSON          `json:"-"`
}

func (*Category) UnmarshalJSON

func (r *Category) UnmarshalJSON(data []byte) (err error)

type CategoryClass

type CategoryClass string

Which account types are allowed to create policies based on this category. `blocked` categories are blocked unconditionally for all accounts. `removalPending` categories can be removed from policies but not added. `noBlock` categories cannot be blocked.

const (
	CategoryClassFree           CategoryClass = "free"
	CategoryClassPremium        CategoryClass = "premium"
	CategoryClassBlocked        CategoryClass = "blocked"
	CategoryClassRemovalPending CategoryClass = "removalPending"
	CategoryClassNoBlock        CategoryClass = "noBlock"
)

func (CategoryClass) IsKnown

func (r CategoryClass) IsKnown() bool

type CategorySubcategoriesClass

type CategorySubcategoriesClass string

Which account types are allowed to create policies based on this category. `blocked` categories are blocked unconditionally for all accounts. `removalPending` categories can be removed from policies but not added. `noBlock` categories cannot be blocked.

const (
	CategorySubcategoriesClassFree           CategorySubcategoriesClass = "free"
	CategorySubcategoriesClassPremium        CategorySubcategoriesClass = "premium"
	CategorySubcategoriesClassBlocked        CategorySubcategoriesClass = "blocked"
	CategorySubcategoriesClassRemovalPending CategorySubcategoriesClass = "removalPending"
	CategorySubcategoriesClassNoBlock        CategorySubcategoriesClass = "noBlock"
)

func (CategorySubcategoriesClass) IsKnown

func (r CategorySubcategoriesClass) IsKnown() bool

type CategorySubcategory

type CategorySubcategory struct {
	// The identifier for this category. There is only one category per ID.
	ID int64 `json:"id"`
	// True if the category is in beta and subject to change.
	Beta bool `json:"beta"`
	// Which account types are allowed to create policies based on this category.
	// `blocked` categories are blocked unconditionally for all accounts.
	// `removalPending` categories can be removed from policies but not added.
	// `noBlock` categories cannot be blocked.
	Class CategorySubcategoriesClass `json:"class"`
	// A short summary of domains in the category.
	Description string `json:"description"`
	// The name of the category.
	Name string                  `json:"name"`
	JSON categorySubcategoryJSON `json:"-"`
}

func (*CategorySubcategory) UnmarshalJSON

func (r *CategorySubcategory) UnmarshalJSON(data []byte) (err error)

type Certificate

type Certificate struct {
	// The ID of the application that will use this certificate.
	ID string `json:"id"`
	// The hostnames of the applications that will use this certificate.
	AssociatedHostnames []AssociatedHostnames `json:"associated_hostnames"`
	CreatedAt           time.Time             `json:"created_at" format:"date-time"`
	ExpiresOn           time.Time             `json:"expires_on" format:"date-time"`
	// The MD5 fingerprint of the certificate.
	Fingerprint string `json:"fingerprint"`
	// The name of the certificate.
	Name      string          `json:"name"`
	UpdatedAt time.Time       `json:"updated_at" format:"date-time"`
	JSON      certificateJSON `json:"-"`
}

func (*Certificate) UnmarshalJSON

func (r *Certificate) UnmarshalJSON(data []byte) (err error)

type CertificateCA

type CertificateCA = shared.CertificateCA

The Certificate Authority that will issue the certificate

This is an alias to an internal type.

type CertificateRequestType

type CertificateRequestType = shared.CertificateRequestType

Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers).

This is an alias to an internal type.

type CertificateRule

type CertificateRule struct {
	Certificate interface{}         `json:"certificate,required"`
	JSON        certificateRuleJSON `json:"-"`
}

Matches any valid client certificate.

func (*CertificateRule) UnmarshalJSON

func (r *CertificateRule) UnmarshalJSON(data []byte) (err error)

type CertificateRuleParam

type CertificateRuleParam struct {
	Certificate param.Field[interface{}] `json:"certificate,required"`
}

Matches any valid client certificate.

func (CertificateRuleParam) MarshalJSON

func (r CertificateRuleParam) MarshalJSON() (data []byte, err error)

type CertificateSettings

type CertificateSettings struct {
	// Request client certificates for this hostname in China. Can only be set to true
	// if this zone is china network enabled.
	ChinaNetwork bool `json:"china_network,required"`
	// Client Certificate Forwarding is a feature that takes the client cert provided
	// by the eyeball to the edge, and forwards it to the origin as a HTTP header to
	// allow logging on the origin.
	ClientCertificateForwarding bool `json:"client_certificate_forwarding,required"`
	// The hostname that these settings apply to.
	Hostname string                  `json:"hostname,required"`
	JSON     certificateSettingsJSON `json:"-"`
}

func (*CertificateSettings) UnmarshalJSON

func (r *CertificateSettings) UnmarshalJSON(data []byte) (err error)

type CertificateSettingsParam

type CertificateSettingsParam struct {
	// Request client certificates for this hostname in China. Can only be set to true
	// if this zone is china network enabled.
	ChinaNetwork param.Field[bool] `json:"china_network,required"`
	// Client Certificate Forwarding is a feature that takes the client cert provided
	// by the eyeball to the edge, and forwards it to the origin as a HTTP header to
	// allow logging on the origin.
	ClientCertificateForwarding param.Field[bool] `json:"client_certificate_forwarding,required"`
	// The hostname that these settings apply to.
	Hostname param.Field[string] `json:"hostname,required"`
}

func (CertificateSettingsParam) MarshalJSON

func (r CertificateSettingsParam) MarshalJSON() (data []byte, err error)

type Client

type Client struct {
	// UUID of the Cloudflare Tunnel connection.
	ID string `json:"id" format:"uuid"`
	// The cloudflared OS architecture used to establish this connection.
	Arch string `json:"arch"`
	// The version of the remote tunnel configuration. Used internally to sync
	// cloudflared with the Zero Trust dashboard.
	ConfigVersion int64 `json:"config_version"`
	// The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
	Conns []ClientConn `json:"conns"`
	// Features enabled for the Cloudflare Tunnel.
	Features []string `json:"features"`
	// Timestamp of when the tunnel connection was started.
	RunAt time.Time `json:"run_at" format:"date-time"`
	// The cloudflared version used to establish this connection.
	Version string     `json:"version"`
	JSON    clientJSON `json:"-"`
}

A client (typically cloudflared) that maintains connections to a Cloudflare data center.

func (*Client) UnmarshalJSON

func (r *Client) UnmarshalJSON(data []byte) (err error)

type ClientCertificateInput

type ClientCertificateInput struct {
	// UUID of Cloudflare managed certificate.
	CertificateID string `json:"certificate_id,required"`
	// Common Name that is protected by the certificate
	Cn   string                     `json:"cn,required"`
	JSON clientCertificateInputJSON `json:"-"`
}

func (*ClientCertificateInput) UnmarshalJSON

func (r *ClientCertificateInput) UnmarshalJSON(data []byte) (err error)

type ClientCertificateInputParam

type ClientCertificateInputParam struct {
	// UUID of Cloudflare managed certificate.
	CertificateID param.Field[string] `json:"certificate_id,required"`
	// Common Name that is protected by the certificate
	Cn param.Field[string] `json:"cn,required"`
}

func (ClientCertificateInputParam) MarshalJSON

func (r ClientCertificateInputParam) MarshalJSON() (data []byte, err error)

type ClientConn

type ClientConn struct {
	// UUID of the Cloudflare Tunnel connection.
	ID string `json:"id" format:"uuid"`
	// UUID of the Cloudflare Tunnel connector.
	ClientID string `json:"client_id" format:"uuid"`
	// The cloudflared version used to establish this connection.
	ClientVersion string `json:"client_version"`
	// The Cloudflare data center used for this connection.
	ColoName string `json:"colo_name"`
	// Cloudflare continues to track connections for several minutes after they
	// disconnect. This is an optimization to improve latency and reliability of
	// reconnecting. If `true`, the connection has disconnected but is still being
	// tracked. If `false`, the connection is actively serving traffic.
	IsPendingReconnect bool `json:"is_pending_reconnect"`
	// Timestamp of when the connection was established.
	OpenedAt time.Time `json:"opened_at" format:"date-time"`
	// The public IP address of the host running cloudflared.
	OriginIP string `json:"origin_ip"`
	// UUID of the Cloudflare Tunnel connection.
	UUID string         `json:"uuid" format:"uuid"`
	JSON clientConnJSON `json:"-"`
}

func (*ClientConn) UnmarshalJSON

func (r *ClientConn) UnmarshalJSON(data []byte) (err error)

type CloudflareTunnel

type CloudflareTunnel = shared.CloudflareTunnel

A Cloudflare Tunnel that connects your origin to Cloudflare's edge.

This is an alias to an internal type.

type CloudflareTunnelConnection

type CloudflareTunnelConnection = shared.CloudflareTunnelConnection

This is an alias to an internal type.

type CloudflareTunnelStatus

type CloudflareTunnelStatus = shared.CloudflareTunnelStatus

The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).

This is an alias to an internal type.

type CloudflareTunnelTunType

type CloudflareTunnelTunType = shared.CloudflareTunnelTunType

The type of tunnel.

This is an alias to an internal type.

type Connection

type Connection struct {
	// The Cloudflare data center used for this connection.
	ColoName string `json:"colo_name"`
	// Cloudflare continues to track connections for several minutes after they
	// disconnect. This is an optimization to improve latency and reliability of
	// reconnecting. If `true`, the connection has disconnected but is still being
	// tracked. If `false`, the connection is actively serving traffic.
	IsPendingReconnect bool `json:"is_pending_reconnect"`
	// UUID of the Cloudflare Tunnel connection.
	UUID string         `json:"uuid" format:"uuid"`
	JSON connectionJSON `json:"-"`
}

func (*Connection) UnmarshalJSON

func (r *Connection) UnmarshalJSON(data []byte) (err error)

type ConnectivitySettingEditParams

type ConnectivitySettingEditParams struct {
	// A flag to enable the ICMP proxy for the account network.
	IcmpProxyEnabled param.Field[bool] `json:"icmp_proxy_enabled"`
	// A flag to enable WARP to WARP traffic.
	OfframpWARPEnabled param.Field[bool] `json:"offramp_warp_enabled"`
}

func (ConnectivitySettingEditParams) MarshalJSON

func (r ConnectivitySettingEditParams) MarshalJSON() (data []byte, err error)

type ConnectivitySettingEditResponse

type ConnectivitySettingEditResponse struct {
	// A flag to enable the ICMP proxy for the account network.
	IcmpProxyEnabled bool `json:"icmp_proxy_enabled"`
	// A flag to enable WARP to WARP traffic.
	OfframpWARPEnabled bool                                `json:"offramp_warp_enabled"`
	JSON               connectivitySettingEditResponseJSON `json:"-"`
}

func (*ConnectivitySettingEditResponse) UnmarshalJSON

func (r *ConnectivitySettingEditResponse) UnmarshalJSON(data []byte) (err error)

type ConnectivitySettingEditResponseEnvelope

type ConnectivitySettingEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo           `json:"errors,required"`
	Messages []shared.ResponseInfo           `json:"messages,required"`
	Result   ConnectivitySettingEditResponse `json:"result,required"`
	// Whether the API call was successful
	Success ConnectivitySettingEditResponseEnvelopeSuccess `json:"success,required"`
	JSON    connectivitySettingEditResponseEnvelopeJSON    `json:"-"`
}

func (*ConnectivitySettingEditResponseEnvelope) UnmarshalJSON

func (r *ConnectivitySettingEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type ConnectivitySettingEditResponseEnvelopeSuccess

type ConnectivitySettingEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	ConnectivitySettingEditResponseEnvelopeSuccessTrue ConnectivitySettingEditResponseEnvelopeSuccess = true
)

func (ConnectivitySettingEditResponseEnvelopeSuccess) IsKnown

type ConnectivitySettingGetResponse

type ConnectivitySettingGetResponse struct {
	// A flag to enable the ICMP proxy for the account network.
	IcmpProxyEnabled bool `json:"icmp_proxy_enabled"`
	// A flag to enable WARP to WARP traffic.
	OfframpWARPEnabled bool                               `json:"offramp_warp_enabled"`
	JSON               connectivitySettingGetResponseJSON `json:"-"`
}

func (*ConnectivitySettingGetResponse) UnmarshalJSON

func (r *ConnectivitySettingGetResponse) UnmarshalJSON(data []byte) (err error)

type ConnectivitySettingGetResponseEnvelope

type ConnectivitySettingGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo          `json:"errors,required"`
	Messages []shared.ResponseInfo          `json:"messages,required"`
	Result   ConnectivitySettingGetResponse `json:"result,required"`
	// Whether the API call was successful
	Success ConnectivitySettingGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    connectivitySettingGetResponseEnvelopeJSON    `json:"-"`
}

func (*ConnectivitySettingGetResponseEnvelope) UnmarshalJSON

func (r *ConnectivitySettingGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type ConnectivitySettingGetResponseEnvelopeSuccess

type ConnectivitySettingGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	ConnectivitySettingGetResponseEnvelopeSuccessTrue ConnectivitySettingGetResponseEnvelopeSuccess = true
)

func (ConnectivitySettingGetResponseEnvelopeSuccess) IsKnown

type ConnectivitySettingService

type ConnectivitySettingService struct {
	Options []option.RequestOption
}

ConnectivitySettingService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewConnectivitySettingService method instead.

func NewConnectivitySettingService

func NewConnectivitySettingService(opts ...option.RequestOption) (r *ConnectivitySettingService)

NewConnectivitySettingService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*ConnectivitySettingService) Edit

Updates the Zero Trust Connectivity Settings for the given account.

func (*ConnectivitySettingService) Get

Gets the Zero Trust Connectivity Settings for the given account.

type ContextAwareness

type ContextAwareness struct {
	// If true, scan the context of predefined entries to only return matches
	// surrounded by keywords.
	Enabled bool `json:"enabled,required"`
	// Content types to exclude from context analysis and return all matches.
	Skip SkipConfiguration    `json:"skip,required"`
	JSON contextAwarenessJSON `json:"-"`
}

Scan the context of predefined entries to only return matches surrounded by keywords.

func (*ContextAwareness) UnmarshalJSON

func (r *ContextAwareness) UnmarshalJSON(data []byte) (err error)

type ContextAwarenessParam

type ContextAwarenessParam struct {
	// If true, scan the context of predefined entries to only return matches
	// surrounded by keywords.
	Enabled param.Field[bool] `json:"enabled,required"`
	// Content types to exclude from context analysis and return all matches.
	Skip param.Field[SkipConfigurationParam] `json:"skip,required"`
}

Scan the context of predefined entries to only return matches surrounded by keywords.

func (ContextAwarenessParam) MarshalJSON

func (r ContextAwarenessParam) MarshalJSON() (data []byte, err error)

type CountryRule

type CountryRule struct {
	Geo  CountryRuleGeo  `json:"geo,required"`
	JSON countryRuleJSON `json:"-"`
}

Matches a specific country

func (*CountryRule) UnmarshalJSON

func (r *CountryRule) UnmarshalJSON(data []byte) (err error)

type CountryRuleGeo

type CountryRuleGeo struct {
	// The country code that should be matched.
	CountryCode string             `json:"country_code,required"`
	JSON        countryRuleGeoJSON `json:"-"`
}

func (*CountryRuleGeo) UnmarshalJSON

func (r *CountryRuleGeo) UnmarshalJSON(data []byte) (err error)

type CountryRuleGeoParam

type CountryRuleGeoParam struct {
	// The country code that should be matched.
	CountryCode param.Field[string] `json:"country_code,required"`
}

func (CountryRuleGeoParam) MarshalJSON

func (r CountryRuleGeoParam) MarshalJSON() (data []byte, err error)

type CountryRuleParam

type CountryRuleParam struct {
	Geo param.Field[CountryRuleGeoParam] `json:"geo,required"`
}

Matches a specific country

func (CountryRuleParam) MarshalJSON

func (r CountryRuleParam) MarshalJSON() (data []byte, err error)

type CrowdstrikeInput

type CrowdstrikeInput struct {
	// Posture Integration ID.
	ConnectionID string `json:"connection_id,required"`
	// For more details on last seen, please refer to the Crowdstrike documentation.
	LastSeen string `json:"last_seen"`
	// operator
	Operator CrowdstrikeInputOperator `json:"operator"`
	// Os Version
	OS string `json:"os"`
	// overall
	Overall string `json:"overall"`
	// SensorConfig
	SensorConfig string `json:"sensor_config"`
	// For more details on state, please refer to the Crowdstrike documentation.
	State CrowdstrikeInputState `json:"state"`
	// Version
	Version string `json:"version"`
	// Version Operator
	VersionOperator CrowdstrikeInputVersionOperator `json:"versionOperator"`
	JSON            crowdstrikeInputJSON            `json:"-"`
}

func (*CrowdstrikeInput) UnmarshalJSON

func (r *CrowdstrikeInput) UnmarshalJSON(data []byte) (err error)

type CrowdstrikeInputOperator

type CrowdstrikeInputOperator string

operator

const (
	CrowdstrikeInputOperatorLess            CrowdstrikeInputOperator = "<"
	CrowdstrikeInputOperatorLessOrEquals    CrowdstrikeInputOperator = "<="
	CrowdstrikeInputOperatorGreater         CrowdstrikeInputOperator = ">"
	CrowdstrikeInputOperatorGreaterOrEquals CrowdstrikeInputOperator = ">="
	CrowdstrikeInputOperatorEquals          CrowdstrikeInputOperator = "=="
)

func (CrowdstrikeInputOperator) IsKnown

func (r CrowdstrikeInputOperator) IsKnown() bool

type CrowdstrikeInputParam

type CrowdstrikeInputParam struct {
	// Posture Integration ID.
	ConnectionID param.Field[string] `json:"connection_id,required"`
	// For more details on last seen, please refer to the Crowdstrike documentation.
	LastSeen param.Field[string] `json:"last_seen"`
	// operator
	Operator param.Field[CrowdstrikeInputOperator] `json:"operator"`
	// Os Version
	OS param.Field[string] `json:"os"`
	// overall
	Overall param.Field[string] `json:"overall"`
	// SensorConfig
	SensorConfig param.Field[string] `json:"sensor_config"`
	// For more details on state, please refer to the Crowdstrike documentation.
	State param.Field[CrowdstrikeInputState] `json:"state"`
	// Version
	Version param.Field[string] `json:"version"`
	// Version Operator
	VersionOperator param.Field[CrowdstrikeInputVersionOperator] `json:"versionOperator"`
}

func (CrowdstrikeInputParam) MarshalJSON

func (r CrowdstrikeInputParam) MarshalJSON() (data []byte, err error)

type CrowdstrikeInputState

type CrowdstrikeInputState string

For more details on state, please refer to the Crowdstrike documentation.

const (
	CrowdstrikeInputStateOnline  CrowdstrikeInputState = "online"
	CrowdstrikeInputStateOffline CrowdstrikeInputState = "offline"
	CrowdstrikeInputStateUnknown CrowdstrikeInputState = "unknown"
)

func (CrowdstrikeInputState) IsKnown

func (r CrowdstrikeInputState) IsKnown() bool

type CrowdstrikeInputVersionOperator

type CrowdstrikeInputVersionOperator string

Version Operator

const (
	CrowdstrikeInputVersionOperatorLess            CrowdstrikeInputVersionOperator = "<"
	CrowdstrikeInputVersionOperatorLessOrEquals    CrowdstrikeInputVersionOperator = "<="
	CrowdstrikeInputVersionOperatorGreater         CrowdstrikeInputVersionOperator = ">"
	CrowdstrikeInputVersionOperatorGreaterOrEquals CrowdstrikeInputVersionOperator = ">="
	CrowdstrikeInputVersionOperatorEquals          CrowdstrikeInputVersionOperator = "=="
)

func (CrowdstrikeInputVersionOperator) IsKnown

type CustomCertificateSettings

type CustomCertificateSettings struct {
	// Enable use of custom certificate authority for signing Gateway traffic.
	Enabled bool `json:"enabled,required"`
	// UUID of certificate (ID from MTLS certificate store).
	ID string `json:"id"`
	// Certificate status (internal).
	BindingStatus string                        `json:"binding_status"`
	UpdatedAt     time.Time                     `json:"updated_at" format:"date-time"`
	JSON          customCertificateSettingsJSON `json:"-"`
}

Custom certificate settings for BYO-PKI. (deprecated and replaced by `certificate`)

func (*CustomCertificateSettings) UnmarshalJSON

func (r *CustomCertificateSettings) UnmarshalJSON(data []byte) (err error)

type CustomCertificateSettingsParam

type CustomCertificateSettingsParam struct {
	// Enable use of custom certificate authority for signing Gateway traffic.
	Enabled param.Field[bool] `json:"enabled,required"`
	// UUID of certificate (ID from MTLS certificate store).
	ID param.Field[string] `json:"id"`
}

Custom certificate settings for BYO-PKI. (deprecated and replaced by `certificate`)

func (CustomCertificateSettingsParam) MarshalJSON

func (r CustomCertificateSettingsParam) MarshalJSON() (data []byte, err error)

type CustomPage

type CustomPage struct {
	// Custom page HTML.
	CustomHTML string `json:"custom_html,required"`
	// Custom page name.
	Name string `json:"name,required"`
	// Custom page type.
	Type CustomPageType `json:"type,required"`
	// Number of apps the custom page is assigned to.
	AppCount  int64     `json:"app_count"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// UUID
	UID       string         `json:"uid"`
	UpdatedAt time.Time      `json:"updated_at" format:"date-time"`
	JSON      customPageJSON `json:"-"`
}

func (*CustomPage) UnmarshalJSON

func (r *CustomPage) UnmarshalJSON(data []byte) (err error)

type CustomPageParam

type CustomPageParam struct {
	// Custom page HTML.
	CustomHTML param.Field[string] `json:"custom_html,required"`
	// Custom page name.
	Name param.Field[string] `json:"name,required"`
	// Custom page type.
	Type param.Field[CustomPageType] `json:"type,required"`
	// Number of apps the custom page is assigned to.
	AppCount param.Field[int64] `json:"app_count"`
	// UUID
	UID param.Field[string] `json:"uid"`
}

func (CustomPageParam) MarshalJSON

func (r CustomPageParam) MarshalJSON() (data []byte, err error)

type CustomPageType

type CustomPageType string

Custom page type.

const (
	CustomPageTypeIdentityDenied CustomPageType = "identity_denied"
	CustomPageTypeForbidden      CustomPageType = "forbidden"
)

func (CustomPageType) IsKnown

func (r CustomPageType) IsKnown() bool

type CustomPageWithoutHTML

type CustomPageWithoutHTML struct {
	// Custom page name.
	Name string `json:"name,required"`
	// Custom page type.
	Type CustomPageWithoutHTMLType `json:"type,required"`
	// Number of apps the custom page is assigned to.
	AppCount  int64     `json:"app_count"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// UUID
	UID       string                    `json:"uid"`
	UpdatedAt time.Time                 `json:"updated_at" format:"date-time"`
	JSON      customPageWithoutHTMLJSON `json:"-"`
}

func (*CustomPageWithoutHTML) UnmarshalJSON

func (r *CustomPageWithoutHTML) UnmarshalJSON(data []byte) (err error)

type CustomPageWithoutHTMLType

type CustomPageWithoutHTMLType string

Custom page type.

const (
	CustomPageWithoutHTMLTypeIdentityDenied CustomPageWithoutHTMLType = "identity_denied"
	CustomPageWithoutHTMLTypeForbidden      CustomPageWithoutHTMLType = "forbidden"
)

func (CustomPageWithoutHTMLType) IsKnown

func (r CustomPageWithoutHTMLType) IsKnown() bool

type CustomProfile

type CustomProfile struct {
	// The ID for this profile
	ID string `json:"id"`
	// Related DLP policies will trigger when the match count exceeds the number set.
	AllowedMatchCount float64 `json:"allowed_match_count"`
	// Scan the context of predefined entries to only return matches surrounded by
	// keywords.
	ContextAwareness ContextAwareness `json:"context_awareness"`
	CreatedAt        time.Time        `json:"created_at" format:"date-time"`
	// The description of the profile.
	Description string `json:"description"`
	// The entries for this profile.
	Entries []CustomProfileEntry `json:"entries"`
	// The name of the profile.
	Name string `json:"name"`
	// If true, scan images via OCR to determine if any text present matches filters.
	OCREnabled bool `json:"ocr_enabled"`
	// The type of the profile.
	Type      CustomProfileType `json:"type"`
	UpdatedAt time.Time         `json:"updated_at" format:"date-time"`
	JSON      customProfileJSON `json:"-"`
}

func (*CustomProfile) UnmarshalJSON

func (r *CustomProfile) UnmarshalJSON(data []byte) (err error)

type CustomProfileEntry

type CustomProfileEntry struct {
	// The ID for this entry
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Whether the entry is enabled or not.
	Enabled bool `json:"enabled"`
	// The name of the entry.
	Name string `json:"name"`
	// A pattern that matches an entry
	Pattern Pattern `json:"pattern"`
	// ID of the parent profile
	ProfileID interface{}            `json:"profile_id"`
	UpdatedAt time.Time              `json:"updated_at" format:"date-time"`
	JSON      customProfileEntryJSON `json:"-"`
}

A custom entry that matches a profile

func (*CustomProfileEntry) UnmarshalJSON

func (r *CustomProfileEntry) UnmarshalJSON(data []byte) (err error)

type CustomProfileType

type CustomProfileType string

The type of the profile.

const (
	CustomProfileTypeCustom CustomProfileType = "custom"
)

func (CustomProfileType) IsKnown

func (r CustomProfileType) IsKnown() bool

type DEXColoListParams

type DEXColoListParams struct {
	// Start time for connection period in RFC3339 (ISO 8601) format.
	From param.Field[string] `query:"from,required"`
	// End time for connection period in RFC3339 (ISO 8601) format.
	To param.Field[string] `query:"to,required"`
	// Type of usage that colos should be sorted by. If unspecified, returns all
	// Cloudflare colos sorted alphabetically.
	SortBy param.Field[DEXColoListParamsSortBy] `query:"sortBy"`
}

func (DEXColoListParams) URLQuery

func (r DEXColoListParams) URLQuery() (v url.Values)

URLQuery serializes DEXColoListParams's query parameters as `url.Values`.

type DEXColoListParamsSortBy

type DEXColoListParamsSortBy string

Type of usage that colos should be sorted by. If unspecified, returns all Cloudflare colos sorted alphabetically.

const (
	DEXColoListParamsSortByFleetStatusUsage      DEXColoListParamsSortBy = "fleet-status-usage"
	DEXColoListParamsSortByApplicationTestsUsage DEXColoListParamsSortBy = "application-tests-usage"
)

func (DEXColoListParamsSortBy) IsKnown

func (r DEXColoListParamsSortBy) IsKnown() bool

type DEXColoListResponse

type DEXColoListResponse = interface{}

type DEXColoService

type DEXColoService struct {
	Options []option.RequestOption
}

DEXColoService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXColoService method instead.

func NewDEXColoService

func NewDEXColoService(opts ...option.RequestOption) (r *DEXColoService)

NewDEXColoService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXColoService) List

List Cloudflare colos that account's devices were connected to during a time period, sorted by usage starting from the most used colo. Colos without traffic are also returned and sorted alphabetically.

func (*DEXColoService) ListAutoPaging

List Cloudflare colos that account's devices were connected to during a time period, sorted by usage starting from the most used colo. Colos without traffic are also returned and sorted alphabetically.

type DEXFleetStatusDeviceListParams

type DEXFleetStatusDeviceListParams struct {
	// Timestamp in ISO format
	From param.Field[string] `query:"from,required"`
	// Page number of paginated results
	Page param.Field[float64] `query:"page,required"`
	// Number of items per page
	PerPage param.Field[float64] `query:"per_page,required"`
	// Source:
	//
	// - `hourly` - device details aggregated hourly, up to 7 days prior
	// - `last_seen` - device details, up to 24 hours prior
	// - `raw` - device details, up to 7 days prior
	Source param.Field[DEXFleetStatusDeviceListParamsSource] `query:"source,required"`
	// Timestamp in ISO format
	To param.Field[string] `query:"to,required"`
	// Cloudflare colo
	Colo param.Field[string] `query:"colo"`
	// Device-specific ID, given as UUID v4
	DeviceID param.Field[string] `query:"device_id"`
	// The mode under which the WARP client is run
	Mode param.Field[string] `query:"mode"`
	// Operating system
	Platform param.Field[string] `query:"platform"`
	// Dimension to sort results by
	SortBy param.Field[DEXFleetStatusDeviceListParamsSortBy] `query:"sort_by"`
	// Network status
	Status param.Field[string] `query:"status"`
	// WARP client version
	Version param.Field[string] `query:"version"`
}

func (DEXFleetStatusDeviceListParams) URLQuery

func (r DEXFleetStatusDeviceListParams) URLQuery() (v url.Values)

URLQuery serializes DEXFleetStatusDeviceListParams's query parameters as `url.Values`.

type DEXFleetStatusDeviceListParamsSortBy

type DEXFleetStatusDeviceListParamsSortBy string

Dimension to sort results by

const (
	DEXFleetStatusDeviceListParamsSortByColo      DEXFleetStatusDeviceListParamsSortBy = "colo"
	DEXFleetStatusDeviceListParamsSortByDeviceID  DEXFleetStatusDeviceListParamsSortBy = "device_id"
	DEXFleetStatusDeviceListParamsSortByMode      DEXFleetStatusDeviceListParamsSortBy = "mode"
	DEXFleetStatusDeviceListParamsSortByPlatform  DEXFleetStatusDeviceListParamsSortBy = "platform"
	DEXFleetStatusDeviceListParamsSortByStatus    DEXFleetStatusDeviceListParamsSortBy = "status"
	DEXFleetStatusDeviceListParamsSortByTimestamp DEXFleetStatusDeviceListParamsSortBy = "timestamp"
	DEXFleetStatusDeviceListParamsSortByVersion   DEXFleetStatusDeviceListParamsSortBy = "version"
)

func (DEXFleetStatusDeviceListParamsSortBy) IsKnown

type DEXFleetStatusDeviceListParamsSource

type DEXFleetStatusDeviceListParamsSource string

Source:

- `hourly` - device details aggregated hourly, up to 7 days prior - `last_seen` - device details, up to 24 hours prior - `raw` - device details, up to 7 days prior

const (
	DEXFleetStatusDeviceListParamsSourceLastSeen DEXFleetStatusDeviceListParamsSource = "last_seen"
	DEXFleetStatusDeviceListParamsSourceHourly   DEXFleetStatusDeviceListParamsSource = "hourly"
	DEXFleetStatusDeviceListParamsSourceRaw      DEXFleetStatusDeviceListParamsSource = "raw"
)

func (DEXFleetStatusDeviceListParamsSource) IsKnown

type DEXFleetStatusDeviceListResponse

type DEXFleetStatusDeviceListResponse struct {
	// Cloudflare colo
	Colo string `json:"colo,required"`
	// Device identifier (UUID v4)
	DeviceID string `json:"deviceId,required"`
	// Operating system
	Platform string `json:"platform,required"`
	// Network status
	Status string `json:"status,required"`
	// WARP client version
	Version string `json:"version,required"`
	// Device identifier (human readable)
	DeviceName string `json:"deviceName"`
	// User contact email address
	PersonEmail string                               `json:"personEmail"`
	JSON        dexFleetStatusDeviceListResponseJSON `json:"-"`
}

func (*DEXFleetStatusDeviceListResponse) UnmarshalJSON

func (r *DEXFleetStatusDeviceListResponse) UnmarshalJSON(data []byte) (err error)

type DEXFleetStatusDeviceService

type DEXFleetStatusDeviceService struct {
	Options []option.RequestOption
}

DEXFleetStatusDeviceService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXFleetStatusDeviceService method instead.

func NewDEXFleetStatusDeviceService

func NewDEXFleetStatusDeviceService(opts ...option.RequestOption) (r *DEXFleetStatusDeviceService)

NewDEXFleetStatusDeviceService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXFleetStatusDeviceService) List

List details for devices using WARP

func (*DEXFleetStatusDeviceService) ListAutoPaging

List details for devices using WARP

type DEXFleetStatusLiveParams

type DEXFleetStatusLiveParams struct {
	// Number of minutes before current time
	SinceMinutes param.Field[float64] `query:"since_minutes,required"`
}

func (DEXFleetStatusLiveParams) URLQuery

func (r DEXFleetStatusLiveParams) URLQuery() (v url.Values)

URLQuery serializes DEXFleetStatusLiveParams's query parameters as `url.Values`.

type DEXFleetStatusLiveResponse

type DEXFleetStatusLiveResponse struct {
	DeviceStats DEXFleetStatusLiveResponseDeviceStats `json:"deviceStats"`
	JSON        dexFleetStatusLiveResponseJSON        `json:"-"`
}

func (*DEXFleetStatusLiveResponse) UnmarshalJSON

func (r *DEXFleetStatusLiveResponse) UnmarshalJSON(data []byte) (err error)

type DEXFleetStatusLiveResponseDeviceStats

type DEXFleetStatusLiveResponseDeviceStats struct {
	ByColo     []LiveStat `json:"byColo,nullable"`
	ByMode     []LiveStat `json:"byMode,nullable"`
	ByPlatform []LiveStat `json:"byPlatform,nullable"`
	ByStatus   []LiveStat `json:"byStatus,nullable"`
	ByVersion  []LiveStat `json:"byVersion,nullable"`
	// Number of unique devices
	UniqueDevicesTotal float64                                   `json:"uniqueDevicesTotal"`
	JSON               dexFleetStatusLiveResponseDeviceStatsJSON `json:"-"`
}

func (*DEXFleetStatusLiveResponseDeviceStats) UnmarshalJSON

func (r *DEXFleetStatusLiveResponseDeviceStats) UnmarshalJSON(data []byte) (err error)

type DEXFleetStatusLiveResponseEnvelope

type DEXFleetStatusLiveResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success DEXFleetStatusLiveResponseEnvelopeSuccess `json:"success,required"`
	Result  DEXFleetStatusLiveResponse                `json:"result"`
	JSON    dexFleetStatusLiveResponseEnvelopeJSON    `json:"-"`
}

func (*DEXFleetStatusLiveResponseEnvelope) UnmarshalJSON

func (r *DEXFleetStatusLiveResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DEXFleetStatusLiveResponseEnvelopeSuccess

type DEXFleetStatusLiveResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DEXFleetStatusLiveResponseEnvelopeSuccessTrue DEXFleetStatusLiveResponseEnvelopeSuccess = true
)

func (DEXFleetStatusLiveResponseEnvelopeSuccess) IsKnown

type DEXFleetStatusOverTimeParams

type DEXFleetStatusOverTimeParams struct {
	// Timestamp in ISO format
	From param.Field[string] `query:"from,required"`
	// Timestamp in ISO format
	To param.Field[string] `query:"to,required"`
	// Cloudflare colo
	Colo param.Field[string] `query:"colo"`
	// Device-specific ID, given as UUID v4
	DeviceID param.Field[string] `query:"device_id"`
}

func (DEXFleetStatusOverTimeParams) URLQuery

func (r DEXFleetStatusOverTimeParams) URLQuery() (v url.Values)

URLQuery serializes DEXFleetStatusOverTimeParams's query parameters as `url.Values`.

type DEXFleetStatusService

type DEXFleetStatusService struct {
	Options []option.RequestOption
	Devices *DEXFleetStatusDeviceService
}

DEXFleetStatusService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXFleetStatusService method instead.

func NewDEXFleetStatusService

func NewDEXFleetStatusService(opts ...option.RequestOption) (r *DEXFleetStatusService)

NewDEXFleetStatusService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXFleetStatusService) Live

List details for live (up to 60 minutes) devices using WARP

func (*DEXFleetStatusService) OverTime

func (r *DEXFleetStatusService) OverTime(ctx context.Context, accountID string, query DEXFleetStatusOverTimeParams, opts ...option.RequestOption) (err error)

List details for devices using WARP, up to 7 days

type DEXHTTPTestGetParams

type DEXHTTPTestGetParams struct {
	// Start time for aggregate metrics in ISO ms
	From param.Field[string] `query:"from,required"`
	// Time interval for aggregate time slots.
	Interval param.Field[DexhttpTestGetParamsInterval] `query:"interval,required"`
	// End time for aggregate metrics in ISO ms
	To param.Field[string] `query:"to,required"`
	// Optionally filter result stats to a Cloudflare colo. Cannot be used in
	// combination with deviceId param.
	Colo param.Field[string] `query:"colo"`
	// Optionally filter result stats to a specific device(s). Cannot be used in
	// combination with colo param.
	DeviceID param.Field[[]string] `query:"deviceId"`
}

func (DEXHTTPTestGetParams) URLQuery

func (r DEXHTTPTestGetParams) URLQuery() (v url.Values)

URLQuery serializes DEXHTTPTestGetParams's query parameters as `url.Values`.

type DEXHTTPTestPercentileGetParams

type DEXHTTPTestPercentileGetParams struct {
	// Start time for aggregate metrics in ISO format
	From param.Field[string] `query:"from,required"`
	// End time for aggregate metrics in ISO format
	To param.Field[string] `query:"to,required"`
	// Optionally filter result stats to a Cloudflare colo. Cannot be used in
	// combination with deviceId param.
	Colo param.Field[string] `query:"colo"`
	// Optionally filter result stats to a specific device(s). Cannot be used in
	// combination with colo param.
	DeviceID param.Field[[]string] `query:"deviceId"`
}

func (DEXHTTPTestPercentileGetParams) URLQuery

func (r DEXHTTPTestPercentileGetParams) URLQuery() (v url.Values)

URLQuery serializes DEXHTTPTestPercentileGetParams's query parameters as `url.Values`.

type DEXHTTPTestPercentileService

type DEXHTTPTestPercentileService struct {
	Options []option.RequestOption
}

DEXHTTPTestPercentileService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXHTTPTestPercentileService method instead.

func NewDEXHTTPTestPercentileService

func NewDEXHTTPTestPercentileService(opts ...option.RequestOption) (r *DEXHTTPTestPercentileService)

NewDEXHTTPTestPercentileService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXHTTPTestPercentileService) Get

Get percentiles for an http test for a given time period between 1 hour and 7 days.

type DEXHTTPTestService

type DEXHTTPTestService struct {
	Options     []option.RequestOption
	Percentiles *DEXHTTPTestPercentileService
}

DEXHTTPTestService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXHTTPTestService method instead.

func NewDEXHTTPTestService

func NewDEXHTTPTestService(opts ...option.RequestOption) (r *DEXHTTPTestService)

NewDEXHTTPTestService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXHTTPTestService) Get

func (r *DEXHTTPTestService) Get(ctx context.Context, accountID string, testID string, query DEXHTTPTestGetParams, opts ...option.RequestOption) (res *HTTPDetails, err error)

Get test details and aggregate performance metrics for an http test for a given time period between 1 hour and 7 days.

type DEXService

type DEXService struct {
	Options               []option.RequestOption
	Colos                 *DEXColoService
	FleetStatus           *DEXFleetStatusService
	HTTPTests             *DEXHTTPTestService
	Tests                 *DEXTestService
	TracerouteTestResults *DEXTracerouteTestResultService
	TracerouteTests       *DEXTracerouteTestService
}

DEXService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXService method instead.

func NewDEXService

func NewDEXService(opts ...option.RequestOption) (r *DEXService)

NewDEXService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

type DEXTestListParams

type DEXTestListParams struct {
	// Optionally filter result stats to a Cloudflare colo. Cannot be used in
	// combination with deviceId param.
	Colo param.Field[string] `query:"colo"`
	// Optionally filter result stats to a specific device(s). Cannot be used in
	// combination with colo param.
	DeviceID param.Field[[]string] `query:"deviceId"`
	// Page number of paginated results
	Page param.Field[float64] `query:"page"`
	// Number of items per page
	PerPage param.Field[float64] `query:"per_page"`
	// Optionally filter results by test name
	TestName param.Field[string] `query:"testName"`
}

func (DEXTestListParams) URLQuery

func (r DEXTestListParams) URLQuery() (v url.Values)

URLQuery serializes DEXTestListParams's query parameters as `url.Values`.

type DEXTestListResponse

type DEXTestListResponse struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success    DEXTestListResponseSuccess    `json:"success,required"`
	Result     Tests                         `json:"result"`
	ResultInfo DEXTestListResponseResultInfo `json:"result_info"`
	JSON       dexTestListResponseJSON       `json:"-"`
}

func (*DEXTestListResponse) UnmarshalJSON

func (r *DEXTestListResponse) UnmarshalJSON(data []byte) (err error)

type DEXTestListResponseResultInfo

type DEXTestListResponseResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                           `json:"total_count"`
	JSON       dexTestListResponseResultInfoJSON `json:"-"`
}

func (*DEXTestListResponseResultInfo) UnmarshalJSON

func (r *DEXTestListResponseResultInfo) UnmarshalJSON(data []byte) (err error)

type DEXTestListResponseSuccess

type DEXTestListResponseSuccess bool

Whether the API call was successful

const (
	DEXTestListResponseSuccessTrue DEXTestListResponseSuccess = true
)

func (DEXTestListResponseSuccess) IsKnown

func (r DEXTestListResponseSuccess) IsKnown() bool

type DEXTestService

type DEXTestService struct {
	Options       []option.RequestOption
	UniqueDevices *DEXTestUniqueDeviceService
}

DEXTestService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXTestService method instead.

func NewDEXTestService

func NewDEXTestService(opts ...option.RequestOption) (r *DEXTestService)

NewDEXTestService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXTestService) List

List DEX tests

func (*DEXTestService) ListAutoPaging

List DEX tests

type DEXTestUniqueDeviceListParams

type DEXTestUniqueDeviceListParams struct {
	// Optionally filter result stats to a specific device(s). Cannot be used in
	// combination with colo param.
	DeviceID param.Field[[]string] `query:"deviceId"`
	// Optionally filter results by test name
	TestName param.Field[string] `query:"testName"`
}

func (DEXTestUniqueDeviceListParams) URLQuery

func (r DEXTestUniqueDeviceListParams) URLQuery() (v url.Values)

URLQuery serializes DEXTestUniqueDeviceListParams's query parameters as `url.Values`.

type DEXTestUniqueDeviceListResponseEnvelope

type DEXTestUniqueDeviceListResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success DEXTestUniqueDeviceListResponseEnvelopeSuccess `json:"success,required"`
	Result  UniqueDevices                                  `json:"result"`
	JSON    dexTestUniqueDeviceListResponseEnvelopeJSON    `json:"-"`
}

func (*DEXTestUniqueDeviceListResponseEnvelope) UnmarshalJSON

func (r *DEXTestUniqueDeviceListResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DEXTestUniqueDeviceListResponseEnvelopeSuccess

type DEXTestUniqueDeviceListResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DEXTestUniqueDeviceListResponseEnvelopeSuccessTrue DEXTestUniqueDeviceListResponseEnvelopeSuccess = true
)

func (DEXTestUniqueDeviceListResponseEnvelopeSuccess) IsKnown

type DEXTestUniqueDeviceService

type DEXTestUniqueDeviceService struct {
	Options []option.RequestOption
}

DEXTestUniqueDeviceService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXTestUniqueDeviceService method instead.

func NewDEXTestUniqueDeviceService

func NewDEXTestUniqueDeviceService(opts ...option.RequestOption) (r *DEXTestUniqueDeviceService)

NewDEXTestUniqueDeviceService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXTestUniqueDeviceService) List

Returns unique count of devices that have run synthetic application monitoring tests in the past 7 days.

type DEXTracerouteTestGetParams

type DEXTracerouteTestGetParams struct {
	// Start time for aggregate metrics in ISO ms
	From param.Field[string] `query:"from,required"`
	// Time interval for aggregate time slots.
	Interval param.Field[DEXTracerouteTestGetParamsInterval] `query:"interval,required"`
	// End time for aggregate metrics in ISO ms
	To param.Field[string] `query:"to,required"`
	// Optionally filter result stats to a Cloudflare colo. Cannot be used in
	// combination with deviceId param.
	Colo param.Field[string] `query:"colo"`
	// Optionally filter result stats to a specific device(s). Cannot be used in
	// combination with colo param.
	DeviceID param.Field[[]string] `query:"deviceId"`
}

func (DEXTracerouteTestGetParams) URLQuery

func (r DEXTracerouteTestGetParams) URLQuery() (v url.Values)

URLQuery serializes DEXTracerouteTestGetParams's query parameters as `url.Values`.

type DEXTracerouteTestGetParamsInterval

type DEXTracerouteTestGetParamsInterval string

Time interval for aggregate time slots.

const (
	DEXTracerouteTestGetParamsIntervalMinute DEXTracerouteTestGetParamsInterval = "minute"
	DEXTracerouteTestGetParamsIntervalHour   DEXTracerouteTestGetParamsInterval = "hour"
)

func (DEXTracerouteTestGetParamsInterval) IsKnown

type DEXTracerouteTestGetResponseEnvelope

type DEXTracerouteTestGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success DEXTracerouteTestGetResponseEnvelopeSuccess `json:"success,required"`
	Result  Traceroute                                  `json:"result"`
	JSON    dexTracerouteTestGetResponseEnvelopeJSON    `json:"-"`
}

func (*DEXTracerouteTestGetResponseEnvelope) UnmarshalJSON

func (r *DEXTracerouteTestGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DEXTracerouteTestGetResponseEnvelopeSuccess

type DEXTracerouteTestGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DEXTracerouteTestGetResponseEnvelopeSuccessTrue DEXTracerouteTestGetResponseEnvelopeSuccess = true
)

func (DEXTracerouteTestGetResponseEnvelopeSuccess) IsKnown

type DEXTracerouteTestNetworkPathParams

type DEXTracerouteTestNetworkPathParams struct {
	// Device to filter tracroute result runs to
	DeviceID param.Field[string] `query:"deviceId,required"`
	// Start time for aggregate metrics in ISO ms
	From param.Field[string] `query:"from,required"`
	// Time interval for aggregate time slots.
	Interval param.Field[DEXTracerouteTestNetworkPathParamsInterval] `query:"interval,required"`
	// End time for aggregate metrics in ISO ms
	To param.Field[string] `query:"to,required"`
}

func (DEXTracerouteTestNetworkPathParams) URLQuery

URLQuery serializes DEXTracerouteTestNetworkPathParams's query parameters as `url.Values`.

type DEXTracerouteTestNetworkPathParamsInterval

type DEXTracerouteTestNetworkPathParamsInterval string

Time interval for aggregate time slots.

const (
	DEXTracerouteTestNetworkPathParamsIntervalMinute DEXTracerouteTestNetworkPathParamsInterval = "minute"
	DEXTracerouteTestNetworkPathParamsIntervalHour   DEXTracerouteTestNetworkPathParamsInterval = "hour"
)

func (DEXTracerouteTestNetworkPathParamsInterval) IsKnown

type DEXTracerouteTestNetworkPathResponseEnvelope

type DEXTracerouteTestNetworkPathResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success DEXTracerouteTestNetworkPathResponseEnvelopeSuccess `json:"success,required"`
	Result  NetworkPathResponse                                 `json:"result"`
	JSON    dexTracerouteTestNetworkPathResponseEnvelopeJSON    `json:"-"`
}

func (*DEXTracerouteTestNetworkPathResponseEnvelope) UnmarshalJSON

func (r *DEXTracerouteTestNetworkPathResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DEXTracerouteTestNetworkPathResponseEnvelopeSuccess

type DEXTracerouteTestNetworkPathResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DEXTracerouteTestNetworkPathResponseEnvelopeSuccessTrue DEXTracerouteTestNetworkPathResponseEnvelopeSuccess = true
)

func (DEXTracerouteTestNetworkPathResponseEnvelopeSuccess) IsKnown

type DEXTracerouteTestPercentilesParams

type DEXTracerouteTestPercentilesParams struct {
	// Start time for aggregate metrics in ISO format
	From param.Field[string] `query:"from,required"`
	// End time for aggregate metrics in ISO format
	To param.Field[string] `query:"to,required"`
	// Optionally filter result stats to a Cloudflare colo. Cannot be used in
	// combination with deviceId param.
	Colo param.Field[string] `query:"colo"`
	// Optionally filter result stats to a specific device(s). Cannot be used in
	// combination with colo param.
	DeviceID param.Field[[]string] `query:"deviceId"`
}

func (DEXTracerouteTestPercentilesParams) URLQuery

URLQuery serializes DEXTracerouteTestPercentilesParams's query parameters as `url.Values`.

type DEXTracerouteTestPercentilesResponse

type DEXTracerouteTestPercentilesResponse struct {
	HopsCount       Percentiles                              `json:"hopsCount"`
	PacketLossPct   Percentiles                              `json:"packetLossPct"`
	RoundTripTimeMs Percentiles                              `json:"roundTripTimeMs"`
	JSON            dexTracerouteTestPercentilesResponseJSON `json:"-"`
}

func (*DEXTracerouteTestPercentilesResponse) UnmarshalJSON

func (r *DEXTracerouteTestPercentilesResponse) UnmarshalJSON(data []byte) (err error)

type DEXTracerouteTestPercentilesResponseEnvelope

type DEXTracerouteTestPercentilesResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success DEXTracerouteTestPercentilesResponseEnvelopeSuccess `json:"success,required"`
	Result  DEXTracerouteTestPercentilesResponse                `json:"result"`
	JSON    dexTracerouteTestPercentilesResponseEnvelopeJSON    `json:"-"`
}

func (*DEXTracerouteTestPercentilesResponseEnvelope) UnmarshalJSON

func (r *DEXTracerouteTestPercentilesResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DEXTracerouteTestPercentilesResponseEnvelopeSuccess

type DEXTracerouteTestPercentilesResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DEXTracerouteTestPercentilesResponseEnvelopeSuccessTrue DEXTracerouteTestPercentilesResponseEnvelopeSuccess = true
)

func (DEXTracerouteTestPercentilesResponseEnvelopeSuccess) IsKnown

type DEXTracerouteTestResultNetworkPathGetResponse

type DEXTracerouteTestResultNetworkPathGetResponse struct {
	// an array of the hops taken by the device to reach the end destination
	Hops []DEXTracerouteTestResultNetworkPathGetResponseHop `json:"hops,required"`
	// API Resource UUID tag.
	ResultID string `json:"resultId,required"`
	// name of the device associated with this network path response
	DeviceName string `json:"deviceName"`
	// API Resource UUID tag.
	TestID string `json:"testId"`
	// name of the tracroute test
	TestName string                                            `json:"testName"`
	JSON     dexTracerouteTestResultNetworkPathGetResponseJSON `json:"-"`
}

func (*DEXTracerouteTestResultNetworkPathGetResponse) UnmarshalJSON

func (r *DEXTracerouteTestResultNetworkPathGetResponse) UnmarshalJSON(data []byte) (err error)

type DEXTracerouteTestResultNetworkPathGetResponseEnvelope

type DEXTracerouteTestResultNetworkPathGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success DEXTracerouteTestResultNetworkPathGetResponseEnvelopeSuccess `json:"success,required"`
	Result  DEXTracerouteTestResultNetworkPathGetResponse                `json:"result"`
	JSON    dexTracerouteTestResultNetworkPathGetResponseEnvelopeJSON    `json:"-"`
}

func (*DEXTracerouteTestResultNetworkPathGetResponseEnvelope) UnmarshalJSON

func (r *DEXTracerouteTestResultNetworkPathGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DEXTracerouteTestResultNetworkPathGetResponseEnvelopeSuccess

type DEXTracerouteTestResultNetworkPathGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DEXTracerouteTestResultNetworkPathGetResponseEnvelopeSuccessTrue DEXTracerouteTestResultNetworkPathGetResponseEnvelopeSuccess = true
)

func (DEXTracerouteTestResultNetworkPathGetResponseEnvelopeSuccess) IsKnown

type DEXTracerouteTestResultNetworkPathGetResponseHop

type DEXTracerouteTestResultNetworkPathGetResponseHop struct {
	TTL           int64                                                     `json:"ttl,required"`
	ASN           int64                                                     `json:"asn,nullable"`
	Aso           string                                                    `json:"aso,nullable"`
	IPAddress     string                                                    `json:"ipAddress,nullable"`
	Location      DEXTracerouteTestResultNetworkPathGetResponseHopsLocation `json:"location,nullable"`
	Mile          DEXTracerouteTestResultNetworkPathGetResponseHopsMile     `json:"mile,nullable"`
	Name          string                                                    `json:"name,nullable"`
	PacketLossPct float64                                                   `json:"packetLossPct,nullable"`
	RTTMs         int64                                                     `json:"rttMs,nullable"`
	JSON          dexTracerouteTestResultNetworkPathGetResponseHopJSON      `json:"-"`
}

func (*DEXTracerouteTestResultNetworkPathGetResponseHop) UnmarshalJSON

func (r *DEXTracerouteTestResultNetworkPathGetResponseHop) UnmarshalJSON(data []byte) (err error)

type DEXTracerouteTestResultNetworkPathGetResponseHopsLocation

type DEXTracerouteTestResultNetworkPathGetResponseHopsLocation struct {
	City  string                                                        `json:"city,nullable"`
	State string                                                        `json:"state,nullable"`
	Zip   string                                                        `json:"zip,nullable"`
	JSON  dexTracerouteTestResultNetworkPathGetResponseHopsLocationJSON `json:"-"`
}

func (*DEXTracerouteTestResultNetworkPathGetResponseHopsLocation) UnmarshalJSON

type DEXTracerouteTestResultNetworkPathGetResponseHopsMile

type DEXTracerouteTestResultNetworkPathGetResponseHopsMile string
const (
	DEXTracerouteTestResultNetworkPathGetResponseHopsMileClientToApp       DEXTracerouteTestResultNetworkPathGetResponseHopsMile = "client-to-app"
	DEXTracerouteTestResultNetworkPathGetResponseHopsMileClientToCfEgress  DEXTracerouteTestResultNetworkPathGetResponseHopsMile = "client-to-cf-egress"
	DEXTracerouteTestResultNetworkPathGetResponseHopsMileClientToCfIngress DEXTracerouteTestResultNetworkPathGetResponseHopsMile = "client-to-cf-ingress"
	DEXTracerouteTestResultNetworkPathGetResponseHopsMileClientToISP       DEXTracerouteTestResultNetworkPathGetResponseHopsMile = "client-to-isp"
)

func (DEXTracerouteTestResultNetworkPathGetResponseHopsMile) IsKnown

type DEXTracerouteTestResultNetworkPathService

type DEXTracerouteTestResultNetworkPathService struct {
	Options []option.RequestOption
}

DEXTracerouteTestResultNetworkPathService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXTracerouteTestResultNetworkPathService method instead.

func NewDEXTracerouteTestResultNetworkPathService

func NewDEXTracerouteTestResultNetworkPathService(opts ...option.RequestOption) (r *DEXTracerouteTestResultNetworkPathService)

NewDEXTracerouteTestResultNetworkPathService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXTracerouteTestResultNetworkPathService) Get

Get a breakdown of hops and performance metrics for a specific traceroute test run

type DEXTracerouteTestResultService

type DEXTracerouteTestResultService struct {
	Options     []option.RequestOption
	NetworkPath *DEXTracerouteTestResultNetworkPathService
}

DEXTracerouteTestResultService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXTracerouteTestResultService method instead.

func NewDEXTracerouteTestResultService

func NewDEXTracerouteTestResultService(opts ...option.RequestOption) (r *DEXTracerouteTestResultService)

NewDEXTracerouteTestResultService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

type DEXTracerouteTestService

type DEXTracerouteTestService struct {
	Options []option.RequestOption
}

DEXTracerouteTestService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDEXTracerouteTestService method instead.

func NewDEXTracerouteTestService

func NewDEXTracerouteTestService(opts ...option.RequestOption) (r *DEXTracerouteTestService)

NewDEXTracerouteTestService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DEXTracerouteTestService) Get

func (r *DEXTracerouteTestService) Get(ctx context.Context, accountID string, testID string, query DEXTracerouteTestGetParams, opts ...option.RequestOption) (res *Traceroute, err error)

Get test details and aggregate performance metrics for an traceroute test for a given time period between 1 hour and 7 days.

func (*DEXTracerouteTestService) NetworkPath

func (r *DEXTracerouteTestService) NetworkPath(ctx context.Context, accountID string, testID string, query DEXTracerouteTestNetworkPathParams, opts ...option.RequestOption) (res *NetworkPathResponse, err error)

Get a breakdown of metrics by hop for individual traceroute test runs

func (*DEXTracerouteTestService) Percentiles

Get percentiles for a traceroute test for a given time period between 1 hour and 7 days.

type DLPDatasetGetResponseEnvelope

type DLPDatasetGetResponseEnvelope struct {
	Errors     []shared.ResponseInfo                   `json:"errors,required"`
	Messages   []shared.ResponseInfo                   `json:"messages,required"`
	Success    bool                                    `json:"success,required"`
	Result     Dataset                                 `json:"result"`
	ResultInfo DLPDatasetGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       dlpDatasetGetResponseEnvelopeJSON       `json:"-"`
}

func (*DLPDatasetGetResponseEnvelope) UnmarshalJSON

func (r *DLPDatasetGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPDatasetGetResponseEnvelopeResultInfo

type DLPDatasetGetResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                       `json:"total_count,required"`
	JSON       dlpDatasetGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DLPDatasetGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DLPDatasetGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DLPDatasetNewParams

type DLPDatasetNewParams struct {
	Name        param.Field[string] `json:"name,required"`
	Description param.Field[string] `json:"description"`
	// Generate a secret dataset.
	//
	// If true, the response will include a secret to use with the EDM encoder. If
	// false, the response has no secret and the dataset is uploaded in plaintext.
	Secret param.Field[bool] `json:"secret"`
}

func (DLPDatasetNewParams) MarshalJSON

func (r DLPDatasetNewParams) MarshalJSON() (data []byte, err error)

type DLPDatasetNewResponseEnvelope

type DLPDatasetNewResponseEnvelope struct {
	Errors     []shared.ResponseInfo                   `json:"errors,required"`
	Messages   []shared.ResponseInfo                   `json:"messages,required"`
	Success    bool                                    `json:"success,required"`
	Result     DatasetCreation                         `json:"result"`
	ResultInfo DLPDatasetNewResponseEnvelopeResultInfo `json:"result_info"`
	JSON       dlpDatasetNewResponseEnvelopeJSON       `json:"-"`
}

func (*DLPDatasetNewResponseEnvelope) UnmarshalJSON

func (r *DLPDatasetNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPDatasetNewResponseEnvelopeResultInfo

type DLPDatasetNewResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                       `json:"total_count,required"`
	JSON       dlpDatasetNewResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DLPDatasetNewResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DLPDatasetNewResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DLPDatasetService

type DLPDatasetService struct {
	Options []option.RequestOption
	Upload  *DLPDatasetUploadService
}

DLPDatasetService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDLPDatasetService method instead.

func NewDLPDatasetService

func NewDLPDatasetService(opts ...option.RequestOption) (r *DLPDatasetService)

NewDLPDatasetService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DLPDatasetService) Delete

func (r *DLPDatasetService) Delete(ctx context.Context, accountID string, datasetID string, opts ...option.RequestOption) (err error)

Delete a dataset.

This deletes all versions of the dataset.

func (*DLPDatasetService) Get

func (r *DLPDatasetService) Get(ctx context.Context, accountID string, datasetID string, opts ...option.RequestOption) (res *Dataset, err error)

Fetch a specific dataset with information about available versions.

func (*DLPDatasetService) List

func (r *DLPDatasetService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[Dataset], err error)

Fetch all datasets with information about available versions.

func (*DLPDatasetService) ListAutoPaging

func (r *DLPDatasetService) ListAutoPaging(ctx context.Context, accountID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[Dataset]

Fetch all datasets with information about available versions.

func (*DLPDatasetService) New

func (r *DLPDatasetService) New(ctx context.Context, accountID string, body DLPDatasetNewParams, opts ...option.RequestOption) (res *DatasetCreation, err error)

Create a new dataset.

func (*DLPDatasetService) Update

func (r *DLPDatasetService) Update(ctx context.Context, accountID string, datasetID string, body DLPDatasetUpdateParams, opts ...option.RequestOption) (res *Dataset, err error)

Update details about a dataset.

type DLPDatasetUpdateParams

type DLPDatasetUpdateParams struct {
	Description param.Field[string] `json:"description"`
	Name        param.Field[string] `json:"name"`
}

func (DLPDatasetUpdateParams) MarshalJSON

func (r DLPDatasetUpdateParams) MarshalJSON() (data []byte, err error)

type DLPDatasetUpdateResponseEnvelope

type DLPDatasetUpdateResponseEnvelope struct {
	Errors     []shared.ResponseInfo                      `json:"errors,required"`
	Messages   []shared.ResponseInfo                      `json:"messages,required"`
	Success    bool                                       `json:"success,required"`
	Result     Dataset                                    `json:"result"`
	ResultInfo DLPDatasetUpdateResponseEnvelopeResultInfo `json:"result_info"`
	JSON       dlpDatasetUpdateResponseEnvelopeJSON       `json:"-"`
}

func (*DLPDatasetUpdateResponseEnvelope) UnmarshalJSON

func (r *DLPDatasetUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPDatasetUpdateResponseEnvelopeResultInfo

type DLPDatasetUpdateResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                          `json:"total_count,required"`
	JSON       dlpDatasetUpdateResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DLPDatasetUpdateResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DLPDatasetUpdateResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DLPDatasetUploadEditParams

type DLPDatasetUploadEditParams struct {
	Body string `json:"body,required"`
}

func (DLPDatasetUploadEditParams) MarshalJSON

func (r DLPDatasetUploadEditParams) MarshalJSON() (data []byte, err error)

type DLPDatasetUploadEditResponseEnvelope

type DLPDatasetUploadEditResponseEnvelope struct {
	Errors     []shared.ResponseInfo                          `json:"errors,required"`
	Messages   []shared.ResponseInfo                          `json:"messages,required"`
	Success    bool                                           `json:"success,required"`
	Result     Dataset                                        `json:"result"`
	ResultInfo DLPDatasetUploadEditResponseEnvelopeResultInfo `json:"result_info"`
	JSON       dlpDatasetUploadEditResponseEnvelopeJSON       `json:"-"`
}

func (*DLPDatasetUploadEditResponseEnvelope) UnmarshalJSON

func (r *DLPDatasetUploadEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPDatasetUploadEditResponseEnvelopeResultInfo

type DLPDatasetUploadEditResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                              `json:"total_count,required"`
	JSON       dlpDatasetUploadEditResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DLPDatasetUploadEditResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DLPDatasetUploadEditResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DLPDatasetUploadNewResponseEnvelope

type DLPDatasetUploadNewResponseEnvelope struct {
	Errors     []shared.ResponseInfo                         `json:"errors,required"`
	Messages   []shared.ResponseInfo                         `json:"messages,required"`
	Success    bool                                          `json:"success,required"`
	Result     NewVersion                                    `json:"result"`
	ResultInfo DLPDatasetUploadNewResponseEnvelopeResultInfo `json:"result_info"`
	JSON       dlpDatasetUploadNewResponseEnvelopeJSON       `json:"-"`
}

func (*DLPDatasetUploadNewResponseEnvelope) UnmarshalJSON

func (r *DLPDatasetUploadNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPDatasetUploadNewResponseEnvelopeResultInfo

type DLPDatasetUploadNewResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                             `json:"total_count,required"`
	JSON       dlpDatasetUploadNewResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DLPDatasetUploadNewResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DLPDatasetUploadNewResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DLPDatasetUploadService

type DLPDatasetUploadService struct {
	Options []option.RequestOption
}

DLPDatasetUploadService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDLPDatasetUploadService method instead.

func NewDLPDatasetUploadService

func NewDLPDatasetUploadService(opts ...option.RequestOption) (r *DLPDatasetUploadService)

NewDLPDatasetUploadService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DLPDatasetUploadService) Edit

func (r *DLPDatasetUploadService) Edit(ctx context.Context, accountID string, datasetID string, version int64, body DLPDatasetUploadEditParams, opts ...option.RequestOption) (res *Dataset, err error)

Upload a new version of a dataset.

func (*DLPDatasetUploadService) New

func (r *DLPDatasetUploadService) New(ctx context.Context, accountID string, datasetID string, opts ...option.RequestOption) (res *NewVersion, err error)

Prepare to upload a new version of a dataset.

type DLPPatternService

type DLPPatternService struct {
	Options []option.RequestOption
}

DLPPatternService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDLPPatternService method instead.

func NewDLPPatternService

func NewDLPPatternService(opts ...option.RequestOption) (r *DLPPatternService)

NewDLPPatternService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DLPPatternService) Validate

Validates whether this pattern is a valid regular expression. Rejects it if the regular expression is too complex or can match an unbounded-length string. Your regex will be rejected if it uses the Kleene Star -- be sure to bound the maximum number of characters that can be matched.

type DLPPatternValidateParams

type DLPPatternValidateParams struct {
	// The regex pattern.
	Regex param.Field[string] `json:"regex,required"`
}

func (DLPPatternValidateParams) MarshalJSON

func (r DLPPatternValidateParams) MarshalJSON() (data []byte, err error)

type DLPPatternValidateResponseEnvelope

type DLPPatternValidateResponseEnvelope struct {
	Errors   []shared.ResponseInfo       `json:"errors,required"`
	Messages []shared.ResponseInfo       `json:"messages,required"`
	Result   logpush.OwnershipValidation `json:"result,required,nullable"`
	// Whether the API call was successful
	Success DLPPatternValidateResponseEnvelopeSuccess `json:"success,required"`
	JSON    dlpPatternValidateResponseEnvelopeJSON    `json:"-"`
}

func (*DLPPatternValidateResponseEnvelope) UnmarshalJSON

func (r *DLPPatternValidateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPPatternValidateResponseEnvelopeSuccess

type DLPPatternValidateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DLPPatternValidateResponseEnvelopeSuccessTrue DLPPatternValidateResponseEnvelopeSuccess = true
)

func (DLPPatternValidateResponseEnvelopeSuccess) IsKnown

type DLPPayloadLogGetResponse

type DLPPayloadLogGetResponse struct {
	PublicKey string                       `json:"public_key,required,nullable"`
	JSON      dlpPayloadLogGetResponseJSON `json:"-"`
}

func (*DLPPayloadLogGetResponse) UnmarshalJSON

func (r *DLPPayloadLogGetResponse) UnmarshalJSON(data []byte) (err error)

type DLPPayloadLogGetResponseEnvelope

type DLPPayloadLogGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo    `json:"errors,required"`
	Messages []shared.ResponseInfo    `json:"messages,required"`
	Result   DLPPayloadLogGetResponse `json:"result,required"`
	// Whether the API call was successful
	Success DLPPayloadLogGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    dlpPayloadLogGetResponseEnvelopeJSON    `json:"-"`
}

func (*DLPPayloadLogGetResponseEnvelope) UnmarshalJSON

func (r *DLPPayloadLogGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPPayloadLogGetResponseEnvelopeSuccess

type DLPPayloadLogGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DLPPayloadLogGetResponseEnvelopeSuccessTrue DLPPayloadLogGetResponseEnvelopeSuccess = true
)

func (DLPPayloadLogGetResponseEnvelopeSuccess) IsKnown

type DLPPayloadLogService

type DLPPayloadLogService struct {
	Options []option.RequestOption
}

DLPPayloadLogService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDLPPayloadLogService method instead.

func NewDLPPayloadLogService

func NewDLPPayloadLogService(opts ...option.RequestOption) (r *DLPPayloadLogService)

NewDLPPayloadLogService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DLPPayloadLogService) Get

func (r *DLPPayloadLogService) Get(ctx context.Context, accountID string, opts ...option.RequestOption) (res *DLPPayloadLogGetResponse, err error)

Gets the current DLP payload log settings for this account.

func (*DLPPayloadLogService) Update

Updates the DLP payload log settings for this account.

type DLPPayloadLogUpdateParams

type DLPPayloadLogUpdateParams struct {
	// The public key to use when encrypting extracted payloads, as a base64 string
	PublicKey param.Field[string] `json:"public_key,required"`
}

func (DLPPayloadLogUpdateParams) MarshalJSON

func (r DLPPayloadLogUpdateParams) MarshalJSON() (data []byte, err error)

type DLPPayloadLogUpdateResponse

type DLPPayloadLogUpdateResponse struct {
	PublicKey string                          `json:"public_key,required,nullable"`
	JSON      dlpPayloadLogUpdateResponseJSON `json:"-"`
}

func (*DLPPayloadLogUpdateResponse) UnmarshalJSON

func (r *DLPPayloadLogUpdateResponse) UnmarshalJSON(data []byte) (err error)

type DLPPayloadLogUpdateResponseEnvelope

type DLPPayloadLogUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo       `json:"errors,required"`
	Messages []shared.ResponseInfo       `json:"messages,required"`
	Result   DLPPayloadLogUpdateResponse `json:"result,required"`
	// Whether the API call was successful
	Success DLPPayloadLogUpdateResponseEnvelopeSuccess `json:"success,required"`
	JSON    dlpPayloadLogUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*DLPPayloadLogUpdateResponseEnvelope) UnmarshalJSON

func (r *DLPPayloadLogUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPPayloadLogUpdateResponseEnvelopeSuccess

type DLPPayloadLogUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DLPPayloadLogUpdateResponseEnvelopeSuccessTrue DLPPayloadLogUpdateResponseEnvelopeSuccess = true
)

func (DLPPayloadLogUpdateResponseEnvelopeSuccess) IsKnown

type DLPProfileCustomDeleteResponseEnvelope

type DLPProfileCustomDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo               `json:"errors,required"`
	Messages []shared.ResponseInfo               `json:"messages,required"`
	Result   DLPProfileCustomDeleteResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success DLPProfileCustomDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    dlpProfileCustomDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*DLPProfileCustomDeleteResponseEnvelope) UnmarshalJSON

func (r *DLPProfileCustomDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPProfileCustomDeleteResponseEnvelopeSuccess

type DLPProfileCustomDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DLPProfileCustomDeleteResponseEnvelopeSuccessTrue DLPProfileCustomDeleteResponseEnvelopeSuccess = true
)

func (DLPProfileCustomDeleteResponseEnvelopeSuccess) IsKnown

type DLPProfileCustomDeleteResponseUnion

type DLPProfileCustomDeleteResponseUnion interface {
	ImplementsZeroTrustDLPProfileCustomDeleteResponseUnion()
}

Union satisfied by zero_trust.DLPProfileCustomDeleteResponseUnknown or shared.UnionString.

type DLPProfileCustomGetResponseEnvelope

type DLPProfileCustomGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   CustomProfile         `json:"result,required"`
	// Whether the API call was successful
	Success DLPProfileCustomGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    dlpProfileCustomGetResponseEnvelopeJSON    `json:"-"`
}

func (*DLPProfileCustomGetResponseEnvelope) UnmarshalJSON

func (r *DLPProfileCustomGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPProfileCustomGetResponseEnvelopeSuccess

type DLPProfileCustomGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DLPProfileCustomGetResponseEnvelopeSuccessTrue DLPProfileCustomGetResponseEnvelopeSuccess = true
)

func (DLPProfileCustomGetResponseEnvelopeSuccess) IsKnown

type DLPProfileCustomNewParams

type DLPProfileCustomNewParams struct {
	Profiles param.Field[[]DLPProfileCustomNewParamsProfile] `json:"profiles,required"`
}

func (DLPProfileCustomNewParams) MarshalJSON

func (r DLPProfileCustomNewParams) MarshalJSON() (data []byte, err error)

type DLPProfileCustomNewParamsProfile

type DLPProfileCustomNewParamsProfile struct {
	// Related DLP policies will trigger when the match count exceeds the number set.
	AllowedMatchCount param.Field[float64] `json:"allowed_match_count"`
	// Scan the context of predefined entries to only return matches surrounded by
	// keywords.
	ContextAwareness param.Field[ContextAwarenessParam] `json:"context_awareness"`
	// The description of the profile.
	Description param.Field[string] `json:"description"`
	// The entries for this profile.
	Entries param.Field[[]DLPProfileCustomNewParamsProfilesEntry] `json:"entries"`
	// The name of the profile.
	Name param.Field[string] `json:"name"`
	// If true, scan images via OCR to determine if any text present matches filters.
	OCREnabled param.Field[bool] `json:"ocr_enabled"`
}

func (DLPProfileCustomNewParamsProfile) MarshalJSON

func (r DLPProfileCustomNewParamsProfile) MarshalJSON() (data []byte, err error)

type DLPProfileCustomNewParamsProfilesEntry

type DLPProfileCustomNewParamsProfilesEntry struct {
	// Whether the entry is enabled or not.
	Enabled param.Field[bool] `json:"enabled,required"`
	// The name of the entry.
	Name param.Field[string] `json:"name,required"`
	// A pattern that matches an entry
	Pattern param.Field[PatternParam] `json:"pattern,required"`
}

A custom entry create payload

func (DLPProfileCustomNewParamsProfilesEntry) MarshalJSON

func (r DLPProfileCustomNewParamsProfilesEntry) MarshalJSON() (data []byte, err error)

type DLPProfileCustomNewResponseEnvelope

type DLPProfileCustomNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []CustomProfile       `json:"result,required,nullable"`
	// Whether the API call was successful
	Success    DLPProfileCustomNewResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DLPProfileCustomNewResponseEnvelopeResultInfo `json:"result_info"`
	JSON       dlpProfileCustomNewResponseEnvelopeJSON       `json:"-"`
}

func (*DLPProfileCustomNewResponseEnvelope) UnmarshalJSON

func (r *DLPProfileCustomNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPProfileCustomNewResponseEnvelopeResultInfo

type DLPProfileCustomNewResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                           `json:"total_count"`
	JSON       dlpProfileCustomNewResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DLPProfileCustomNewResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DLPProfileCustomNewResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DLPProfileCustomNewResponseEnvelopeSuccess

type DLPProfileCustomNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DLPProfileCustomNewResponseEnvelopeSuccessTrue DLPProfileCustomNewResponseEnvelopeSuccess = true
)

func (DLPProfileCustomNewResponseEnvelopeSuccess) IsKnown

type DLPProfileCustomService

type DLPProfileCustomService struct {
	Options []option.RequestOption
}

DLPProfileCustomService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDLPProfileCustomService method instead.

func NewDLPProfileCustomService

func NewDLPProfileCustomService(opts ...option.RequestOption) (r *DLPProfileCustomService)

NewDLPProfileCustomService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DLPProfileCustomService) Delete

func (r *DLPProfileCustomService) Delete(ctx context.Context, accountID string, profileID string, opts ...option.RequestOption) (res *DLPProfileCustomDeleteResponseUnion, err error)

Deletes a DLP custom profile.

func (*DLPProfileCustomService) Get

func (r *DLPProfileCustomService) Get(ctx context.Context, accountID string, profileID string, opts ...option.RequestOption) (res *CustomProfile, err error)

Fetches a custom DLP profile.

func (*DLPProfileCustomService) New

Creates a set of DLP custom profiles.

func (*DLPProfileCustomService) Update

func (r *DLPProfileCustomService) Update(ctx context.Context, accountID string, profileID string, body DLPProfileCustomUpdateParams, opts ...option.RequestOption) (res *CustomProfile, err error)

Updates a DLP custom profile.

type DLPProfileCustomUpdateParams

type DLPProfileCustomUpdateParams struct {
	// Related DLP policies will trigger when the match count exceeds the number set.
	AllowedMatchCount param.Field[float64] `json:"allowed_match_count"`
	// Scan the context of predefined entries to only return matches surrounded by
	// keywords.
	ContextAwareness param.Field[ContextAwarenessParam] `json:"context_awareness"`
	// The description of the profile.
	Description param.Field[string] `json:"description"`
	// The custom entries for this profile. Array elements with IDs are modifying the
	// existing entry with that ID. Elements without ID will create new entries. Any
	// entry not in the list will be deleted.
	Entries param.Field[[]DLPProfileCustomUpdateParamsEntry] `json:"entries"`
	// The name of the profile.
	Name param.Field[string] `json:"name"`
	// If true, scan images via OCR to determine if any text present matches filters.
	OCREnabled param.Field[bool] `json:"ocr_enabled"`
	// Entries from other profiles (e.g. pre-defined Cloudflare profiles, or your
	// Microsoft Information Protection profiles).
	SharedEntries param.Field[[]DLPProfileCustomUpdateParamsSharedEntryUnion] `json:"shared_entries"`
}

func (DLPProfileCustomUpdateParams) MarshalJSON

func (r DLPProfileCustomUpdateParams) MarshalJSON() (data []byte, err error)

type DLPProfileCustomUpdateParamsEntry

type DLPProfileCustomUpdateParamsEntry struct {
	// Whether the entry is enabled or not.
	Enabled param.Field[bool] `json:"enabled"`
	// The name of the entry.
	Name param.Field[string] `json:"name"`
	// A pattern that matches an entry
	Pattern param.Field[PatternParam] `json:"pattern"`
	// ID of the parent profile
	ProfileID param.Field[interface{}] `json:"profile_id"`
}

A custom entry that matches a profile

func (DLPProfileCustomUpdateParamsEntry) MarshalJSON

func (r DLPProfileCustomUpdateParamsEntry) MarshalJSON() (data []byte, err error)

type DLPProfileCustomUpdateParamsSharedEntriesDLPSharedEntryUpdateIntegration

type DLPProfileCustomUpdateParamsSharedEntriesDLPSharedEntryUpdateIntegration struct {
	// Whether the entry is enabled or not.
	Enabled param.Field[bool] `json:"enabled"`
}

Properties of an integration entry in a custom profile

func (DLPProfileCustomUpdateParamsSharedEntriesDLPSharedEntryUpdateIntegration) MarshalJSON

type DLPProfileCustomUpdateParamsSharedEntriesDLPSharedEntryUpdatePredefined

type DLPProfileCustomUpdateParamsSharedEntriesDLPSharedEntryUpdatePredefined struct {
	// Whether the entry is enabled or not.
	Enabled param.Field[bool] `json:"enabled"`
}

Properties of a predefined entry in a custom profile

func (DLPProfileCustomUpdateParamsSharedEntriesDLPSharedEntryUpdatePredefined) MarshalJSON

type DLPProfileCustomUpdateParamsSharedEntry

type DLPProfileCustomUpdateParamsSharedEntry struct {
	// Whether the entry is enabled or not.
	Enabled param.Field[bool] `json:"enabled"`
}

Properties of a predefined entry in a custom profile

func (DLPProfileCustomUpdateParamsSharedEntry) MarshalJSON

func (r DLPProfileCustomUpdateParamsSharedEntry) MarshalJSON() (data []byte, err error)

type DLPProfileCustomUpdateParamsSharedEntryUnion

type DLPProfileCustomUpdateParamsSharedEntryUnion interface {
	// contains filtered or unexported methods
}

Properties of a predefined entry in a custom profile

Satisfied by zero_trust.DLPProfileCustomUpdateParamsSharedEntriesDLPSharedEntryUpdatePredefined, zero_trust.DLPProfileCustomUpdateParamsSharedEntriesDLPSharedEntryUpdateIntegration, DLPProfileCustomUpdateParamsSharedEntry.

type DLPProfileGetResponse

type DLPProfileGetResponse struct {
	// Related DLP policies will trigger when the match count exceeds the number set.
	AllowedMatchCount float64 `json:"allowed_match_count"`
	// Scan the context of predefined entries to only return matches surrounded by
	// keywords.
	ContextAwareness ContextAwareness `json:"context_awareness"`
	// This field can have the runtime type of [[]PredefinedProfileEntry],
	// [[]CustomProfileEntry], [[]DLPProfileGetResponseDLPIntegrationProfileEntry].
	Entries interface{} `json:"entries,required"`
	// The ID for this profile
	ID string `json:"id"`
	// The name of the profile.
	Name string `json:"name"`
	// If true, scan images via OCR to determine if any text present matches filters.
	OCREnabled bool `json:"ocr_enabled"`
	// The type of the profile.
	Type      DLPProfileGetResponseType `json:"type"`
	CreatedAt time.Time                 `json:"created_at" format:"date-time"`
	// The description of the profile.
	Description string                    `json:"description"`
	UpdatedAt   time.Time                 `json:"updated_at" format:"date-time"`
	JSON        dlpProfileGetResponseJSON `json:"-"`
	// contains filtered or unexported fields
}

func (DLPProfileGetResponse) AsUnion

AsUnion returns a DLPProfileGetResponseUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are zero_trust.PredefinedProfile, zero_trust.CustomProfile, zero_trust.DLPProfileGetResponseDLPIntegrationProfile.

func (*DLPProfileGetResponse) UnmarshalJSON

func (r *DLPProfileGetResponse) UnmarshalJSON(data []byte) (err error)

type DLPProfileGetResponseDLPIntegrationProfile

type DLPProfileGetResponseDLPIntegrationProfile struct {
	// The ID for this profile
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The description of the profile.
	Description string `json:"description"`
	// The entries for this profile.
	Entries []DLPProfileGetResponseDLPIntegrationProfileEntry `json:"entries"`
	// The name of the profile.
	Name string `json:"name"`
	// The type of the profile.
	Type      DLPProfileGetResponseDLPIntegrationProfileType `json:"type"`
	UpdatedAt time.Time                                      `json:"updated_at" format:"date-time"`
	JSON      dlpProfileGetResponseDLPIntegrationProfileJSON `json:"-"`
}

func (*DLPProfileGetResponseDLPIntegrationProfile) UnmarshalJSON

func (r *DLPProfileGetResponseDLPIntegrationProfile) UnmarshalJSON(data []byte) (err error)

type DLPProfileGetResponseDLPIntegrationProfileEntry

type DLPProfileGetResponseDLPIntegrationProfileEntry struct {
	// The ID for this entry
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Whether the entry is enabled or not.
	Enabled bool `json:"enabled"`
	// The name of the entry.
	Name string `json:"name"`
	// ID of the parent profile
	ProfileID interface{}                                         `json:"profile_id"`
	UpdatedAt time.Time                                           `json:"updated_at" format:"date-time"`
	JSON      dlpProfileGetResponseDLPIntegrationProfileEntryJSON `json:"-"`
}

An entry derived from an integration

func (*DLPProfileGetResponseDLPIntegrationProfileEntry) UnmarshalJSON

func (r *DLPProfileGetResponseDLPIntegrationProfileEntry) UnmarshalJSON(data []byte) (err error)

type DLPProfileGetResponseDLPIntegrationProfileType

type DLPProfileGetResponseDLPIntegrationProfileType string

The type of the profile.

const (
	DLPProfileGetResponseDLPIntegrationProfileTypeIntegration DLPProfileGetResponseDLPIntegrationProfileType = "integration"
)

func (DLPProfileGetResponseDLPIntegrationProfileType) IsKnown

type DLPProfileGetResponseEnvelope

type DLPProfileGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DLPProfileGetResponse `json:"result,required"`
	// Whether the API call was successful
	Success DLPProfileGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    dlpProfileGetResponseEnvelopeJSON    `json:"-"`
}

func (*DLPProfileGetResponseEnvelope) UnmarshalJSON

func (r *DLPProfileGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPProfileGetResponseEnvelopeSuccess

type DLPProfileGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DLPProfileGetResponseEnvelopeSuccessTrue DLPProfileGetResponseEnvelopeSuccess = true
)

func (DLPProfileGetResponseEnvelopeSuccess) IsKnown

type DLPProfileGetResponseType

type DLPProfileGetResponseType string

The type of the profile.

const (
	DLPProfileGetResponseTypePredefined  DLPProfileGetResponseType = "predefined"
	DLPProfileGetResponseTypeCustom      DLPProfileGetResponseType = "custom"
	DLPProfileGetResponseTypeIntegration DLPProfileGetResponseType = "integration"
)

func (DLPProfileGetResponseType) IsKnown

func (r DLPProfileGetResponseType) IsKnown() bool

type DLPProfileGetResponseUnion

type DLPProfileGetResponseUnion interface {
	// contains filtered or unexported methods
}

Union satisfied by zero_trust.PredefinedProfile, zero_trust.CustomProfile or zero_trust.DLPProfileGetResponseDLPIntegrationProfile.

type DLPProfilePredefinedGetResponseEnvelope

type DLPProfilePredefinedGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   PredefinedProfile     `json:"result,required"`
	// Whether the API call was successful
	Success DLPProfilePredefinedGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    dlpProfilePredefinedGetResponseEnvelopeJSON    `json:"-"`
}

func (*DLPProfilePredefinedGetResponseEnvelope) UnmarshalJSON

func (r *DLPProfilePredefinedGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DLPProfilePredefinedGetResponseEnvelopeSuccess

type DLPProfilePredefinedGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DLPProfilePredefinedGetResponseEnvelopeSuccessTrue DLPProfilePredefinedGetResponseEnvelopeSuccess = true
)

func (DLPProfilePredefinedGetResponseEnvelopeSuccess) IsKnown

type DLPProfilePredefinedService

type DLPProfilePredefinedService struct {
	Options []option.RequestOption
}

DLPProfilePredefinedService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDLPProfilePredefinedService method instead.

func NewDLPProfilePredefinedService

func NewDLPProfilePredefinedService(opts ...option.RequestOption) (r *DLPProfilePredefinedService)

NewDLPProfilePredefinedService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DLPProfilePredefinedService) Get

func (r *DLPProfilePredefinedService) Get(ctx context.Context, accountID string, profileID string, opts ...option.RequestOption) (res *PredefinedProfile, err error)

Fetches a predefined DLP profile.

func (*DLPProfilePredefinedService) Update

Updates a DLP predefined profile. Only supports enabling/disabling entries.

type DLPProfilePredefinedUpdateParams

type DLPProfilePredefinedUpdateParams struct {
	// Related DLP policies will trigger when the match count exceeds the number set.
	AllowedMatchCount param.Field[float64] `json:"allowed_match_count"`
	// Scan the context of predefined entries to only return matches surrounded by
	// keywords.
	ContextAwareness param.Field[ContextAwarenessParam] `json:"context_awareness"`
	// The entries for this profile.
	Entries param.Field[[]DLPProfilePredefinedUpdateParamsEntry] `json:"entries"`
	// If true, scan images via OCR to determine if any text present matches filters.
	OCREnabled param.Field[bool] `json:"ocr_enabled"`
}

func (DLPProfilePredefinedUpdateParams) MarshalJSON

func (r DLPProfilePredefinedUpdateParams) MarshalJSON() (data []byte, err error)

type DLPProfilePredefinedUpdateParamsEntry

type DLPProfilePredefinedUpdateParamsEntry struct {
	// Whether the entry is enabled or not.
	Enabled param.Field[bool] `json:"enabled"`
}

func (DLPProfilePredefinedUpdateParamsEntry) MarshalJSON

func (r DLPProfilePredefinedUpdateParamsEntry) MarshalJSON() (data []byte, err error)

type DLPProfileService

type DLPProfileService struct {
	Options    []option.RequestOption
	Custom     *DLPProfileCustomService
	Predefined *DLPProfilePredefinedService
}

DLPProfileService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDLPProfileService method instead.

func NewDLPProfileService

func NewDLPProfileService(opts ...option.RequestOption) (r *DLPProfileService)

NewDLPProfileService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DLPProfileService) Get

func (r *DLPProfileService) Get(ctx context.Context, accountID string, profileID string, opts ...option.RequestOption) (res *DLPProfileGetResponse, err error)

Fetches a DLP profile by ID. Supports both predefined and custom profiles

func (*DLPProfileService) List

func (r *DLPProfileService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[Profile], err error)

Lists all DLP profiles in an account.

func (*DLPProfileService) ListAutoPaging

func (r *DLPProfileService) ListAutoPaging(ctx context.Context, accountID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[Profile]

Lists all DLP profiles in an account.

type DLPService

type DLPService struct {
	Options     []option.RequestOption
	Datasets    *DLPDatasetService
	Patterns    *DLPPatternService
	PayloadLogs *DLPPayloadLogService
	Profiles    *DLPProfileService
}

DLPService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDLPService method instead.

func NewDLPService

func NewDLPService(opts ...option.RequestOption) (r *DLPService)

NewDLPService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

type DNSResolverSettingsV4

type DNSResolverSettingsV4 struct {
	// IPv4 address of upstream resolver.
	IP string `json:"ip,required"`
	// A port number to use for upstream resolver. Defaults to 53 if unspecified.
	Port int64 `json:"port"`
	// Whether to connect to this resolver over a private network. Must be set when
	// vnet_id is set.
	RouteThroughPrivateNetwork bool `json:"route_through_private_network"`
	// Optionally specify a virtual network for this resolver. Uses default virtual
	// network id if omitted.
	VnetID string                    `json:"vnet_id"`
	JSON   dnsResolverSettingsV4JSON `json:"-"`
}

func (*DNSResolverSettingsV4) UnmarshalJSON

func (r *DNSResolverSettingsV4) UnmarshalJSON(data []byte) (err error)

type DNSResolverSettingsV4Param

type DNSResolverSettingsV4Param struct {
	// IPv4 address of upstream resolver.
	IP param.Field[string] `json:"ip,required"`
	// A port number to use for upstream resolver. Defaults to 53 if unspecified.
	Port param.Field[int64] `json:"port"`
	// Whether to connect to this resolver over a private network. Must be set when
	// vnet_id is set.
	RouteThroughPrivateNetwork param.Field[bool] `json:"route_through_private_network"`
	// Optionally specify a virtual network for this resolver. Uses default virtual
	// network id if omitted.
	VnetID param.Field[string] `json:"vnet_id"`
}

func (DNSResolverSettingsV4Param) MarshalJSON

func (r DNSResolverSettingsV4Param) MarshalJSON() (data []byte, err error)

type DNSResolverSettingsV6

type DNSResolverSettingsV6 struct {
	// IPv6 address of upstream resolver.
	IP string `json:"ip,required"`
	// A port number to use for upstream resolver. Defaults to 53 if unspecified.
	Port int64 `json:"port"`
	// Whether to connect to this resolver over a private network. Must be set when
	// vnet_id is set.
	RouteThroughPrivateNetwork bool `json:"route_through_private_network"`
	// Optionally specify a virtual network for this resolver. Uses default virtual
	// network id if omitted.
	VnetID string                    `json:"vnet_id"`
	JSON   dnsResolverSettingsV6JSON `json:"-"`
}

func (*DNSResolverSettingsV6) UnmarshalJSON

func (r *DNSResolverSettingsV6) UnmarshalJSON(data []byte) (err error)

type DNSResolverSettingsV6Param

type DNSResolverSettingsV6Param struct {
	// IPv6 address of upstream resolver.
	IP param.Field[string] `json:"ip,required"`
	// A port number to use for upstream resolver. Defaults to 53 if unspecified.
	Port param.Field[int64] `json:"port"`
	// Whether to connect to this resolver over a private network. Must be set when
	// vnet_id is set.
	RouteThroughPrivateNetwork param.Field[bool] `json:"route_through_private_network"`
	// Optionally specify a virtual network for this resolver. Uses default virtual
	// network id if omitted.
	VnetID param.Field[string] `json:"vnet_id"`
}

func (DNSResolverSettingsV6Param) MarshalJSON

func (r DNSResolverSettingsV6Param) MarshalJSON() (data []byte, err error)

type DOHEndpoint

type DOHEndpoint struct {
	// True if the endpoint is enabled for this location.
	Enabled bool `json:"enabled"`
	// A list of allowed source IP network ranges for this endpoint. When empty, all
	// source IPs are allowed. A non-empty list is only effective if the endpoint is
	// enabled for this location.
	Networks []IPNetwork `json:"networks"`
	// True if the endpoint requires
	// [user identity](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/agentless/dns/dns-over-https/#filter-doh-requests-by-user)
	// authentication.
	RequireToken bool            `json:"require_token"`
	JSON         dohEndpointJSON `json:"-"`
}

func (*DOHEndpoint) UnmarshalJSON

func (r *DOHEndpoint) UnmarshalJSON(data []byte) (err error)

type DOHEndpointParam

type DOHEndpointParam struct {
	// True if the endpoint is enabled for this location.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of allowed source IP network ranges for this endpoint. When empty, all
	// source IPs are allowed. A non-empty list is only effective if the endpoint is
	// enabled for this location.
	Networks param.Field[[]IPNetworkParam] `json:"networks"`
	// True if the endpoint requires
	// [user identity](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/agentless/dns/dns-over-https/#filter-doh-requests-by-user)
	// authentication.
	RequireToken param.Field[bool] `json:"require_token"`
}

func (DOHEndpointParam) MarshalJSON

func (r DOHEndpointParam) MarshalJSON() (data []byte, err error)

type DOTEndpoint

type DOTEndpoint struct {
	// True if the endpoint is enabled for this location.
	Enabled bool `json:"enabled"`
	// A list of allowed source IP network ranges for this endpoint. When empty, all
	// source IPs are allowed. A non-empty list is only effective if the endpoint is
	// enabled for this location.
	Networks []IPNetwork     `json:"networks"`
	JSON     dotEndpointJSON `json:"-"`
}

func (*DOTEndpoint) UnmarshalJSON

func (r *DOTEndpoint) UnmarshalJSON(data []byte) (err error)

type DOTEndpointParam

type DOTEndpointParam struct {
	// True if the endpoint is enabled for this location.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of allowed source IP network ranges for this endpoint. When empty, all
	// source IPs are allowed. A non-empty list is only effective if the endpoint is
	// enabled for this location.
	Networks param.Field[[]IPNetworkParam] `json:"networks"`
}

func (DOTEndpointParam) MarshalJSON

func (r DOTEndpointParam) MarshalJSON() (data []byte, err error)

type Dataset

type Dataset struct {
	ID          string          `json:"id,required" format:"uuid"`
	CreatedAt   time.Time       `json:"created_at,required" format:"date-time"`
	Name        string          `json:"name,required"`
	NumCells    int64           `json:"num_cells,required"`
	Secret      bool            `json:"secret,required"`
	Status      DatasetStatus   `json:"status,required"`
	UpdatedAt   time.Time       `json:"updated_at,required" format:"date-time"`
	Uploads     []DatasetUpload `json:"uploads,required"`
	Description string          `json:"description,nullable"`
	JSON        datasetJSON     `json:"-"`
}

func (*Dataset) UnmarshalJSON

func (r *Dataset) UnmarshalJSON(data []byte) (err error)

type DatasetArray

type DatasetArray []Dataset

type DatasetCreation

type DatasetCreation struct {
	Dataset  Dataset `json:"dataset,required"`
	MaxCells int64   `json:"max_cells,required"`
	// The version to use when uploading the dataset.
	Version int64 `json:"version,required"`
	// The secret to use for Exact Data Match datasets. This is not present in Custom
	// Wordlists.
	Secret string              `json:"secret" format:"password"`
	JSON   datasetCreationJSON `json:"-"`
}

func (*DatasetCreation) UnmarshalJSON

func (r *DatasetCreation) UnmarshalJSON(data []byte) (err error)

type DatasetStatus

type DatasetStatus string
const (
	DatasetStatusEmpty     DatasetStatus = "empty"
	DatasetStatusUploading DatasetStatus = "uploading"
	DatasetStatusFailed    DatasetStatus = "failed"
	DatasetStatusComplete  DatasetStatus = "complete"
)

func (DatasetStatus) IsKnown

func (r DatasetStatus) IsKnown() bool

type DatasetUpload

type DatasetUpload struct {
	NumCells int64                `json:"num_cells,required"`
	Status   DatasetUploadsStatus `json:"status,required"`
	Version  int64                `json:"version,required"`
	JSON     datasetUploadJSON    `json:"-"`
}

func (*DatasetUpload) UnmarshalJSON

func (r *DatasetUpload) UnmarshalJSON(data []byte) (err error)

type DatasetUploadsStatus

type DatasetUploadsStatus string
const (
	DatasetUploadsStatusEmpty     DatasetUploadsStatus = "empty"
	DatasetUploadsStatusUploading DatasetUploadsStatus = "uploading"
	DatasetUploadsStatusFailed    DatasetUploadsStatus = "failed"
	DatasetUploadsStatusComplete  DatasetUploadsStatus = "complete"
)

func (DatasetUploadsStatus) IsKnown

func (r DatasetUploadsStatus) IsKnown() bool

type Decision

type Decision string

The action Access will take if a user matches this policy.

const (
	DecisionAllow       Decision = "allow"
	DecisionDeny        Decision = "deny"
	DecisionNonIdentity Decision = "non_identity"
	DecisionBypass      Decision = "bypass"
)

func (Decision) IsKnown

func (r Decision) IsKnown() bool

type Device

type Device struct {
	// Device ID.
	ID string `json:"id"`
	// When the device was created.
	Created time.Time `json:"created" format:"date-time"`
	// True if the device was deleted.
	Deleted    bool             `json:"deleted"`
	DeviceType DeviceDeviceType `json:"device_type"`
	// IPv4 or IPv6 address.
	IP string `json:"ip"`
	// The device's public key.
	Key string `json:"key"`
	// When the device last connected to Cloudflare services.
	LastSeen time.Time `json:"last_seen" format:"date-time"`
	// The device mac address.
	MacAddress string `json:"mac_address"`
	// The device manufacturer name.
	Manufacturer string `json:"manufacturer"`
	// The device model name.
	Model string `json:"model"`
	// The device name.
	Name string `json:"name"`
	// The Linux distro name.
	OSDistroName string `json:"os_distro_name"`
	// The Linux distro revision.
	OSDistroRevision string `json:"os_distro_revision"`
	// The operating system version.
	OSVersion string `json:"os_version"`
	// The operating system version extra parameter.
	OSVersionExtra string `json:"os_version_extra"`
	// When the device was revoked.
	RevokedAt time.Time `json:"revoked_at" format:"date-time"`
	// The device serial number.
	SerialNumber string `json:"serial_number"`
	// When the device was updated.
	Updated time.Time  `json:"updated" format:"date-time"`
	User    DeviceUser `json:"user"`
	// The WARP client version.
	Version string     `json:"version"`
	JSON    deviceJSON `json:"-"`
}

func (*Device) UnmarshalJSON

func (r *Device) UnmarshalJSON(data []byte) (err error)

type DeviceDEXTestDeleteResponseEnvelope

type DeviceDEXTestDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []SchemaHTTP          `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceDEXTestDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceDEXTestDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceDEXTestDeleteResponseEnvelope) UnmarshalJSON

func (r *DeviceDEXTestDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceDEXTestDeleteResponseEnvelopeSuccess

type DeviceDEXTestDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceDEXTestDeleteResponseEnvelopeSuccessTrue DeviceDEXTestDeleteResponseEnvelopeSuccess = true
)

func (DeviceDEXTestDeleteResponseEnvelopeSuccess) IsKnown

type DeviceDEXTestGetResponseEnvelope

type DeviceDEXTestGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   SchemaHTTP            `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceDEXTestGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceDEXTestGetResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceDEXTestGetResponseEnvelope) UnmarshalJSON

func (r *DeviceDEXTestGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceDEXTestGetResponseEnvelopeSuccess

type DeviceDEXTestGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceDEXTestGetResponseEnvelopeSuccessTrue DeviceDEXTestGetResponseEnvelopeSuccess = true
)

func (DeviceDEXTestGetResponseEnvelopeSuccess) IsKnown

type DeviceDEXTestNewParams

type DeviceDEXTestNewParams struct {
	SchemaHTTP SchemaHTTPParam `json:"schema_http,required"`
}

func (DeviceDEXTestNewParams) MarshalJSON

func (r DeviceDEXTestNewParams) MarshalJSON() (data []byte, err error)

type DeviceDEXTestNewResponseEnvelope

type DeviceDEXTestNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   SchemaHTTP            `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceDEXTestNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceDEXTestNewResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceDEXTestNewResponseEnvelope) UnmarshalJSON

func (r *DeviceDEXTestNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceDEXTestNewResponseEnvelopeSuccess

type DeviceDEXTestNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceDEXTestNewResponseEnvelopeSuccessTrue DeviceDEXTestNewResponseEnvelopeSuccess = true
)

func (DeviceDEXTestNewResponseEnvelopeSuccess) IsKnown

type DeviceDEXTestService

type DeviceDEXTestService struct {
	Options []option.RequestOption
}

DeviceDEXTestService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDeviceDEXTestService method instead.

func NewDeviceDEXTestService

func NewDeviceDEXTestService(opts ...option.RequestOption) (r *DeviceDEXTestService)

NewDeviceDEXTestService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DeviceDEXTestService) Delete

func (r *DeviceDEXTestService) Delete(ctx context.Context, accountID string, dexTestID string, opts ...option.RequestOption) (res *[]SchemaHTTP, err error)

Delete a Device DEX test. Returns the remaining device dex tests for the account.

func (*DeviceDEXTestService) Get

func (r *DeviceDEXTestService) Get(ctx context.Context, accountID string, dexTestID string, opts ...option.RequestOption) (res *SchemaHTTP, err error)

Fetch a single DEX test.

func (*DeviceDEXTestService) List

func (r *DeviceDEXTestService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[SchemaHTTP], err error)

Fetch all DEX tests.

func (*DeviceDEXTestService) ListAutoPaging

Fetch all DEX tests.

func (*DeviceDEXTestService) New

func (r *DeviceDEXTestService) New(ctx context.Context, accountID string, body DeviceDEXTestNewParams, opts ...option.RequestOption) (res *SchemaHTTP, err error)

Create a DEX test.

func (*DeviceDEXTestService) Update

func (r *DeviceDEXTestService) Update(ctx context.Context, accountID string, dexTestID string, body DeviceDEXTestUpdateParams, opts ...option.RequestOption) (res *SchemaHTTP, err error)

Update a DEX test.

type DeviceDEXTestUpdateParams

type DeviceDEXTestUpdateParams struct {
	SchemaHTTP SchemaHTTPParam `json:"schema_http,required"`
}

func (DeviceDEXTestUpdateParams) MarshalJSON

func (r DeviceDEXTestUpdateParams) MarshalJSON() (data []byte, err error)

type DeviceDEXTestUpdateResponseEnvelope

type DeviceDEXTestUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   SchemaHTTP            `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceDEXTestUpdateResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceDEXTestUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceDEXTestUpdateResponseEnvelope) UnmarshalJSON

func (r *DeviceDEXTestUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceDEXTestUpdateResponseEnvelopeSuccess

type DeviceDEXTestUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceDEXTestUpdateResponseEnvelopeSuccessTrue DeviceDEXTestUpdateResponseEnvelopeSuccess = true
)

func (DeviceDEXTestUpdateResponseEnvelopeSuccess) IsKnown

type DeviceDeviceType

type DeviceDeviceType string
const (
	DeviceDeviceTypeWindows DeviceDeviceType = "windows"
	DeviceDeviceTypeMac     DeviceDeviceType = "mac"
	DeviceDeviceTypeLinux   DeviceDeviceType = "linux"
	DeviceDeviceTypeAndroid DeviceDeviceType = "android"
	DeviceDeviceTypeIos     DeviceDeviceType = "ios"
)

func (DeviceDeviceType) IsKnown

func (r DeviceDeviceType) IsKnown() bool

type DeviceExperienceMonitor

type DeviceExperienceMonitor struct {
	ID string `json:"id,required"`
	// Whether the policy is the default for the account
	Default bool                        `json:"default,required"`
	Name    string                      `json:"name,required"`
	JSON    deviceExperienceMonitorJSON `json:"-"`
}

func (*DeviceExperienceMonitor) UnmarshalJSON

func (r *DeviceExperienceMonitor) UnmarshalJSON(data []byte) (err error)

type DeviceGetResponseEnvelope

type DeviceGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo  `json:"errors,required"`
	Messages []shared.ResponseInfo  `json:"messages,required"`
	Result   DeviceGetResponseUnion `json:"result,required"`
	// Whether the API call was successful.
	Success DeviceGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceGetResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceGetResponseEnvelope) UnmarshalJSON

func (r *DeviceGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceGetResponseEnvelopeSuccess

type DeviceGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceGetResponseEnvelopeSuccessTrue DeviceGetResponseEnvelopeSuccess = true
)

func (DeviceGetResponseEnvelopeSuccess) IsKnown

type DeviceGetResponseUnion

type DeviceGetResponseUnion interface {
	ImplementsZeroTrustDeviceGetResponseUnion()
}

Union satisfied by zero_trust.DeviceGetResponseUnknown or shared.UnionString.

type DeviceInput

type DeviceInput struct {
	// Whether or not file exists
	Exists bool `json:"exists"`
	// Operating system
	OperatingSystem DeviceInputOperatingSystem `json:"operating_system"`
	// File path.
	Path string `json:"path"`
	// SHA-256.
	Sha256 string `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint string `json:"thumbprint"`
	// List ID.
	ID string `json:"id"`
	// Domain
	Domain string `json:"domain"`
	// operator
	Operator DeviceInputOperator `json:"operator"`
	// Operating System Distribution Name (linux only)
	OSDistroName string `json:"os_distro_name"`
	// Version of OS Distribution (linux only)
	OSDistroRevision string `json:"os_distro_revision"`
	// Additional version data. For Mac or iOS, the Product Verison Extra. For Linux,
	// the kernel release version. (Mac, iOS, and Linux only)
	OSVersionExtra string `json:"os_version_extra"`
	// Version of OS
	Version string `json:"version"`
	// Enabled
	Enabled bool `json:"enabled"`
	// This field can have the runtime type of [[]CarbonblackInput].
	CheckDisks interface{} `json:"checkDisks,required"`
	// Whether to check all disks for encryption.
	RequireAll bool `json:"requireAll"`
	// UUID of Cloudflare managed certificate.
	CertificateID string `json:"certificate_id"`
	// Common Name that is protected by the certificate
	Cn string `json:"cn"`
	// Compliance Status
	ComplianceStatus DeviceInputComplianceStatus `json:"compliance_status"`
	// Posture Integration ID.
	ConnectionID string `json:"connection_id"`
	// For more details on last seen, please refer to the Crowdstrike documentation.
	LastSeen string `json:"last_seen"`
	// Os Version
	OS string `json:"os"`
	// overall
	Overall string `json:"overall"`
	// SensorConfig
	SensorConfig string `json:"sensor_config"`
	// For more details on state, please refer to the Crowdstrike documentation.
	State DeviceInputState `json:"state"`
	// Version Operator
	VersionOperator DeviceInputVersionOperator `json:"versionOperator"`
	// Count Operator
	CountOperator DeviceInputCountOperator `json:"countOperator"`
	// The Number of Issues.
	IssueCount string `json:"issue_count"`
	// For more details on eid last seen, refer to the Tanium documentation.
	EidLastSeen string `json:"eid_last_seen"`
	// For more details on risk level, refer to the Tanium documentation.
	RiskLevel DeviceInputRiskLevel `json:"risk_level"`
	// Score Operator
	ScoreOperator DeviceInputScoreOperator `json:"scoreOperator"`
	// For more details on total score, refer to the Tanium documentation.
	TotalScore float64 `json:"total_score"`
	// The Number of active threats.
	ActiveThreats float64 `json:"active_threats"`
	// Whether device is infected.
	Infected bool `json:"infected"`
	// Whether device is active.
	IsActive bool `json:"is_active"`
	// Network status of device.
	NetworkStatus DeviceInputNetworkStatus `json:"network_status"`
	JSON          deviceInputJSON          `json:"-"`
	// contains filtered or unexported fields
}

The value to be checked against.

func (*DeviceInput) UnmarshalJSON

func (r *DeviceInput) UnmarshalJSON(data []byte) (err error)

type DeviceInputComplianceStatus

type DeviceInputComplianceStatus string

Compliance Status

const (
	DeviceInputComplianceStatusCompliant     DeviceInputComplianceStatus = "compliant"
	DeviceInputComplianceStatusNoncompliant  DeviceInputComplianceStatus = "noncompliant"
	DeviceInputComplianceStatusUnknown       DeviceInputComplianceStatus = "unknown"
	DeviceInputComplianceStatusNotapplicable DeviceInputComplianceStatus = "notapplicable"
	DeviceInputComplianceStatusIngraceperiod DeviceInputComplianceStatus = "ingraceperiod"
	DeviceInputComplianceStatusError         DeviceInputComplianceStatus = "error"
)

func (DeviceInputComplianceStatus) IsKnown

func (r DeviceInputComplianceStatus) IsKnown() bool

type DeviceInputCountOperator

type DeviceInputCountOperator string

Count Operator

const (
	DeviceInputCountOperatorLess            DeviceInputCountOperator = "<"
	DeviceInputCountOperatorLessOrEquals    DeviceInputCountOperator = "<="
	DeviceInputCountOperatorGreater         DeviceInputCountOperator = ">"
	DeviceInputCountOperatorGreaterOrEquals DeviceInputCountOperator = ">="
	DeviceInputCountOperatorEquals          DeviceInputCountOperator = "=="
)

func (DeviceInputCountOperator) IsKnown

func (r DeviceInputCountOperator) IsKnown() bool

type DeviceInputNetworkStatus

type DeviceInputNetworkStatus string

Network status of device.

const (
	DeviceInputNetworkStatusConnected     DeviceInputNetworkStatus = "connected"
	DeviceInputNetworkStatusDisconnected  DeviceInputNetworkStatus = "disconnected"
	DeviceInputNetworkStatusDisconnecting DeviceInputNetworkStatus = "disconnecting"
	DeviceInputNetworkStatusConnecting    DeviceInputNetworkStatus = "connecting"
)

func (DeviceInputNetworkStatus) IsKnown

func (r DeviceInputNetworkStatus) IsKnown() bool

type DeviceInputOperatingSystem

type DeviceInputOperatingSystem string

Operating system

const (
	DeviceInputOperatingSystemWindows  DeviceInputOperatingSystem = "windows"
	DeviceInputOperatingSystemLinux    DeviceInputOperatingSystem = "linux"
	DeviceInputOperatingSystemMac      DeviceInputOperatingSystem = "mac"
	DeviceInputOperatingSystemAndroid  DeviceInputOperatingSystem = "android"
	DeviceInputOperatingSystemIos      DeviceInputOperatingSystem = "ios"
	DeviceInputOperatingSystemChromeos DeviceInputOperatingSystem = "chromeos"
)

func (DeviceInputOperatingSystem) IsKnown

func (r DeviceInputOperatingSystem) IsKnown() bool

type DeviceInputOperator

type DeviceInputOperator string

operator

const (
	DeviceInputOperatorLess            DeviceInputOperator = "<"
	DeviceInputOperatorLessOrEquals    DeviceInputOperator = "<="
	DeviceInputOperatorGreater         DeviceInputOperator = ">"
	DeviceInputOperatorGreaterOrEquals DeviceInputOperator = ">="
	DeviceInputOperatorEquals          DeviceInputOperator = "=="
)

func (DeviceInputOperator) IsKnown

func (r DeviceInputOperator) IsKnown() bool

type DeviceInputParam

type DeviceInputParam struct {
	// Whether or not file exists
	Exists param.Field[bool] `json:"exists"`
	// Operating system
	OperatingSystem param.Field[DeviceInputOperatingSystem] `json:"operating_system"`
	// File path.
	Path param.Field[string] `json:"path"`
	// SHA-256.
	Sha256 param.Field[string] `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint param.Field[string] `json:"thumbprint"`
	// List ID.
	ID param.Field[string] `json:"id"`
	// Domain
	Domain param.Field[string] `json:"domain"`
	// operator
	Operator param.Field[DeviceInputOperator] `json:"operator"`
	// Operating System Distribution Name (linux only)
	OSDistroName param.Field[string] `json:"os_distro_name"`
	// Version of OS Distribution (linux only)
	OSDistroRevision param.Field[string] `json:"os_distro_revision"`
	// Additional version data. For Mac or iOS, the Product Verison Extra. For Linux,
	// the kernel release version. (Mac, iOS, and Linux only)
	OSVersionExtra param.Field[string] `json:"os_version_extra"`
	// Version of OS
	Version param.Field[string] `json:"version"`
	// Enabled
	Enabled    param.Field[bool]        `json:"enabled"`
	CheckDisks param.Field[interface{}] `json:"checkDisks,required"`
	// Whether to check all disks for encryption.
	RequireAll param.Field[bool] `json:"requireAll"`
	// UUID of Cloudflare managed certificate.
	CertificateID param.Field[string] `json:"certificate_id"`
	// Common Name that is protected by the certificate
	Cn param.Field[string] `json:"cn"`
	// Compliance Status
	ComplianceStatus param.Field[DeviceInputComplianceStatus] `json:"compliance_status"`
	// Posture Integration ID.
	ConnectionID param.Field[string] `json:"connection_id"`
	// For more details on last seen, please refer to the Crowdstrike documentation.
	LastSeen param.Field[string] `json:"last_seen"`
	// Os Version
	OS param.Field[string] `json:"os"`
	// overall
	Overall param.Field[string] `json:"overall"`
	// SensorConfig
	SensorConfig param.Field[string] `json:"sensor_config"`
	// For more details on state, please refer to the Crowdstrike documentation.
	State param.Field[DeviceInputState] `json:"state"`
	// Version Operator
	VersionOperator param.Field[DeviceInputVersionOperator] `json:"versionOperator"`
	// Count Operator
	CountOperator param.Field[DeviceInputCountOperator] `json:"countOperator"`
	// The Number of Issues.
	IssueCount param.Field[string] `json:"issue_count"`
	// For more details on eid last seen, refer to the Tanium documentation.
	EidLastSeen param.Field[string] `json:"eid_last_seen"`
	// For more details on risk level, refer to the Tanium documentation.
	RiskLevel param.Field[DeviceInputRiskLevel] `json:"risk_level"`
	// Score Operator
	ScoreOperator param.Field[DeviceInputScoreOperator] `json:"scoreOperator"`
	// For more details on total score, refer to the Tanium documentation.
	TotalScore param.Field[float64] `json:"total_score"`
	// The Number of active threats.
	ActiveThreats param.Field[float64] `json:"active_threats"`
	// Whether device is infected.
	Infected param.Field[bool] `json:"infected"`
	// Whether device is active.
	IsActive param.Field[bool] `json:"is_active"`
	// Network status of device.
	NetworkStatus param.Field[DeviceInputNetworkStatus] `json:"network_status"`
}

The value to be checked against.

func (DeviceInputParam) MarshalJSON

func (r DeviceInputParam) MarshalJSON() (data []byte, err error)

type DeviceInputRiskLevel

type DeviceInputRiskLevel string

For more details on risk level, refer to the Tanium documentation.

const (
	DeviceInputRiskLevelLow      DeviceInputRiskLevel = "low"
	DeviceInputRiskLevelMedium   DeviceInputRiskLevel = "medium"
	DeviceInputRiskLevelHigh     DeviceInputRiskLevel = "high"
	DeviceInputRiskLevelCritical DeviceInputRiskLevel = "critical"
)

func (DeviceInputRiskLevel) IsKnown

func (r DeviceInputRiskLevel) IsKnown() bool

type DeviceInputScoreOperator

type DeviceInputScoreOperator string

Score Operator

const (
	DeviceInputScoreOperatorLess            DeviceInputScoreOperator = "<"
	DeviceInputScoreOperatorLessOrEquals    DeviceInputScoreOperator = "<="
	DeviceInputScoreOperatorGreater         DeviceInputScoreOperator = ">"
	DeviceInputScoreOperatorGreaterOrEquals DeviceInputScoreOperator = ">="
	DeviceInputScoreOperatorEquals          DeviceInputScoreOperator = "=="
)

func (DeviceInputScoreOperator) IsKnown

func (r DeviceInputScoreOperator) IsKnown() bool

type DeviceInputState

type DeviceInputState string

For more details on state, please refer to the Crowdstrike documentation.

const (
	DeviceInputStateOnline  DeviceInputState = "online"
	DeviceInputStateOffline DeviceInputState = "offline"
	DeviceInputStateUnknown DeviceInputState = "unknown"
)

func (DeviceInputState) IsKnown

func (r DeviceInputState) IsKnown() bool

type DeviceInputTeamsDevicesApplicationInputRequest

type DeviceInputTeamsDevicesApplicationInputRequest struct {
	// Operating system
	OperatingSystem DeviceInputTeamsDevicesApplicationInputRequestOperatingSystem `json:"operating_system,required"`
	// Path for the application.
	Path string `json:"path,required"`
	// SHA-256.
	Sha256 string `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint string                                             `json:"thumbprint"`
	JSON       deviceInputTeamsDevicesApplicationInputRequestJSON `json:"-"`
}

func (*DeviceInputTeamsDevicesApplicationInputRequest) UnmarshalJSON

func (r *DeviceInputTeamsDevicesApplicationInputRequest) UnmarshalJSON(data []byte) (err error)

type DeviceInputTeamsDevicesApplicationInputRequestOperatingSystem

type DeviceInputTeamsDevicesApplicationInputRequestOperatingSystem string

Operating system

const (
	DeviceInputTeamsDevicesApplicationInputRequestOperatingSystemWindows DeviceInputTeamsDevicesApplicationInputRequestOperatingSystem = "windows"
	DeviceInputTeamsDevicesApplicationInputRequestOperatingSystemLinux   DeviceInputTeamsDevicesApplicationInputRequestOperatingSystem = "linux"
	DeviceInputTeamsDevicesApplicationInputRequestOperatingSystemMac     DeviceInputTeamsDevicesApplicationInputRequestOperatingSystem = "mac"
)

func (DeviceInputTeamsDevicesApplicationInputRequestOperatingSystem) IsKnown

type DeviceInputTeamsDevicesApplicationInputRequestParam

type DeviceInputTeamsDevicesApplicationInputRequestParam struct {
	// Operating system
	OperatingSystem param.Field[DeviceInputTeamsDevicesApplicationInputRequestOperatingSystem] `json:"operating_system,required"`
	// Path for the application.
	Path param.Field[string] `json:"path,required"`
	// SHA-256.
	Sha256 param.Field[string] `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint param.Field[string] `json:"thumbprint"`
}

func (DeviceInputTeamsDevicesApplicationInputRequestParam) MarshalJSON

func (r DeviceInputTeamsDevicesApplicationInputRequestParam) MarshalJSON() (data []byte, err error)

type DeviceInputTeamsDevicesCarbonblackInputRequest

type DeviceInputTeamsDevicesCarbonblackInputRequest struct {
	// Operating system
	OperatingSystem DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystem `json:"operating_system,required"`
	// File path.
	Path string `json:"path,required"`
	// SHA-256.
	Sha256 string `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint string                                             `json:"thumbprint"`
	JSON       deviceInputTeamsDevicesCarbonblackInputRequestJSON `json:"-"`
}

func (*DeviceInputTeamsDevicesCarbonblackInputRequest) UnmarshalJSON

func (r *DeviceInputTeamsDevicesCarbonblackInputRequest) UnmarshalJSON(data []byte) (err error)

type DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystem

type DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystem string

Operating system

const (
	DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystemWindows DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystem = "windows"
	DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystemLinux   DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystem = "linux"
	DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystemMac     DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystem = "mac"
)

func (DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystem) IsKnown

type DeviceInputTeamsDevicesCarbonblackInputRequestParam

type DeviceInputTeamsDevicesCarbonblackInputRequestParam struct {
	// Operating system
	OperatingSystem param.Field[DeviceInputTeamsDevicesCarbonblackInputRequestOperatingSystem] `json:"operating_system,required"`
	// File path.
	Path param.Field[string] `json:"path,required"`
	// SHA-256.
	Sha256 param.Field[string] `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint param.Field[string] `json:"thumbprint"`
}

func (DeviceInputTeamsDevicesCarbonblackInputRequestParam) MarshalJSON

func (r DeviceInputTeamsDevicesCarbonblackInputRequestParam) MarshalJSON() (data []byte, err error)

type DeviceInputVersionOperator

type DeviceInputVersionOperator string

Version Operator

const (
	DeviceInputVersionOperatorLess            DeviceInputVersionOperator = "<"
	DeviceInputVersionOperatorLessOrEquals    DeviceInputVersionOperator = "<="
	DeviceInputVersionOperatorGreater         DeviceInputVersionOperator = ">"
	DeviceInputVersionOperatorGreaterOrEquals DeviceInputVersionOperator = ">="
	DeviceInputVersionOperatorEquals          DeviceInputVersionOperator = "=="
)

func (DeviceInputVersionOperator) IsKnown

func (r DeviceInputVersionOperator) IsKnown() bool

type DeviceMatch

type DeviceMatch struct {
	Platform DeviceMatchPlatform `json:"platform"`
	JSON     deviceMatchJSON     `json:"-"`
}

func (*DeviceMatch) UnmarshalJSON

func (r *DeviceMatch) UnmarshalJSON(data []byte) (err error)

type DeviceMatchParam

type DeviceMatchParam struct {
	Platform param.Field[DeviceMatchPlatform] `json:"platform"`
}

func (DeviceMatchParam) MarshalJSON

func (r DeviceMatchParam) MarshalJSON() (data []byte, err error)

type DeviceMatchPlatform

type DeviceMatchPlatform string
const (
	DeviceMatchPlatformWindows DeviceMatchPlatform = "windows"
	DeviceMatchPlatformMac     DeviceMatchPlatform = "mac"
	DeviceMatchPlatformLinux   DeviceMatchPlatform = "linux"
	DeviceMatchPlatformAndroid DeviceMatchPlatform = "android"
	DeviceMatchPlatformIos     DeviceMatchPlatform = "ios"
)

func (DeviceMatchPlatform) IsKnown

func (r DeviceMatchPlatform) IsKnown() bool

type DeviceNetwork

type DeviceNetwork struct {
	// The configuration object containing information for the WARP client to detect
	// the managed network.
	Config DeviceNetworkConfig `json:"config"`
	// The name of the device managed network. This name must be unique.
	Name string `json:"name"`
	// API UUID.
	NetworkID string `json:"network_id"`
	// The type of device managed network.
	Type DeviceNetworkType `json:"type"`
	JSON deviceNetworkJSON `json:"-"`
}

func (*DeviceNetwork) UnmarshalJSON

func (r *DeviceNetwork) UnmarshalJSON(data []byte) (err error)

type DeviceNetworkConfig

type DeviceNetworkConfig struct {
	// A network address of the form "host:port" that the WARP client will use to
	// detect the presence of a TLS host.
	TLSSockaddr string `json:"tls_sockaddr,required"`
	// The SHA-256 hash of the TLS certificate presented by the host found at
	// tls_sockaddr. If absent, regular certificate verification (trusted roots, valid
	// timestamp, etc) will be used to validate the certificate.
	Sha256 string                  `json:"sha256"`
	JSON   deviceNetworkConfigJSON `json:"-"`
}

The configuration object containing information for the WARP client to detect the managed network.

func (*DeviceNetworkConfig) UnmarshalJSON

func (r *DeviceNetworkConfig) UnmarshalJSON(data []byte) (err error)

type DeviceNetworkDeleteResponseEnvelope

type DeviceNetworkDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []DeviceNetwork       `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DeviceNetworkDeleteResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DeviceNetworkDeleteResponseEnvelopeResultInfo `json:"result_info"`
	JSON       deviceNetworkDeleteResponseEnvelopeJSON       `json:"-"`
}

func (*DeviceNetworkDeleteResponseEnvelope) UnmarshalJSON

func (r *DeviceNetworkDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceNetworkDeleteResponseEnvelopeResultInfo

type DeviceNetworkDeleteResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                           `json:"total_count"`
	JSON       deviceNetworkDeleteResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DeviceNetworkDeleteResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DeviceNetworkDeleteResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DeviceNetworkDeleteResponseEnvelopeSuccess

type DeviceNetworkDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceNetworkDeleteResponseEnvelopeSuccessTrue DeviceNetworkDeleteResponseEnvelopeSuccess = true
)

func (DeviceNetworkDeleteResponseEnvelopeSuccess) IsKnown

type DeviceNetworkGetResponseEnvelope

type DeviceNetworkGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DeviceNetwork         `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceNetworkGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceNetworkGetResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceNetworkGetResponseEnvelope) UnmarshalJSON

func (r *DeviceNetworkGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceNetworkGetResponseEnvelopeSuccess

type DeviceNetworkGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceNetworkGetResponseEnvelopeSuccessTrue DeviceNetworkGetResponseEnvelopeSuccess = true
)

func (DeviceNetworkGetResponseEnvelopeSuccess) IsKnown

type DeviceNetworkNewParams

type DeviceNetworkNewParams struct {
	// The configuration object containing information for the WARP client to detect
	// the managed network.
	Config param.Field[DeviceNetworkNewParamsConfig] `json:"config,required"`
	// The name of the device managed network. This name must be unique.
	Name param.Field[string] `json:"name,required"`
	// The type of device managed network.
	Type param.Field[DeviceNetworkNewParamsType] `json:"type,required"`
}

func (DeviceNetworkNewParams) MarshalJSON

func (r DeviceNetworkNewParams) MarshalJSON() (data []byte, err error)

type DeviceNetworkNewParamsConfig

type DeviceNetworkNewParamsConfig struct {
	// A network address of the form "host:port" that the WARP client will use to
	// detect the presence of a TLS host.
	TLSSockaddr param.Field[string] `json:"tls_sockaddr,required"`
	// The SHA-256 hash of the TLS certificate presented by the host found at
	// tls_sockaddr. If absent, regular certificate verification (trusted roots, valid
	// timestamp, etc) will be used to validate the certificate.
	Sha256 param.Field[string] `json:"sha256"`
}

The configuration object containing information for the WARP client to detect the managed network.

func (DeviceNetworkNewParamsConfig) MarshalJSON

func (r DeviceNetworkNewParamsConfig) MarshalJSON() (data []byte, err error)

type DeviceNetworkNewParamsType

type DeviceNetworkNewParamsType string

The type of device managed network.

const (
	DeviceNetworkNewParamsTypeTLS DeviceNetworkNewParamsType = "tls"
)

func (DeviceNetworkNewParamsType) IsKnown

func (r DeviceNetworkNewParamsType) IsKnown() bool

type DeviceNetworkNewResponseEnvelope

type DeviceNetworkNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DeviceNetwork         `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceNetworkNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceNetworkNewResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceNetworkNewResponseEnvelope) UnmarshalJSON

func (r *DeviceNetworkNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceNetworkNewResponseEnvelopeSuccess

type DeviceNetworkNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceNetworkNewResponseEnvelopeSuccessTrue DeviceNetworkNewResponseEnvelopeSuccess = true
)

func (DeviceNetworkNewResponseEnvelopeSuccess) IsKnown

type DeviceNetworkService

type DeviceNetworkService struct {
	Options []option.RequestOption
}

DeviceNetworkService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDeviceNetworkService method instead.

func NewDeviceNetworkService

func NewDeviceNetworkService(opts ...option.RequestOption) (r *DeviceNetworkService)

NewDeviceNetworkService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DeviceNetworkService) Delete

func (r *DeviceNetworkService) Delete(ctx context.Context, accountID string, networkID string, opts ...option.RequestOption) (res *[]DeviceNetwork, err error)

Deletes a device managed network and fetches a list of the remaining device managed networks for an account.

func (*DeviceNetworkService) Get

func (r *DeviceNetworkService) Get(ctx context.Context, accountID string, networkID string, opts ...option.RequestOption) (res *DeviceNetwork, err error)

Fetches details for a single managed network.

func (*DeviceNetworkService) List

Fetches a list of managed networks for an account.

func (*DeviceNetworkService) ListAutoPaging

Fetches a list of managed networks for an account.

func (*DeviceNetworkService) New

func (r *DeviceNetworkService) New(ctx context.Context, accountID string, body DeviceNetworkNewParams, opts ...option.RequestOption) (res *DeviceNetwork, err error)

Creates a new device managed network.

func (*DeviceNetworkService) Update

func (r *DeviceNetworkService) Update(ctx context.Context, accountID string, networkID string, body DeviceNetworkUpdateParams, opts ...option.RequestOption) (res *DeviceNetwork, err error)

Updates a configured device managed network.

type DeviceNetworkType

type DeviceNetworkType string

The type of device managed network.

const (
	DeviceNetworkTypeTLS DeviceNetworkType = "tls"
)

func (DeviceNetworkType) IsKnown

func (r DeviceNetworkType) IsKnown() bool

type DeviceNetworkUpdateParams

type DeviceNetworkUpdateParams struct {
	// The configuration object containing information for the WARP client to detect
	// the managed network.
	Config param.Field[DeviceNetworkUpdateParamsConfig] `json:"config"`
	// The name of the device managed network. This name must be unique.
	Name param.Field[string] `json:"name"`
	// The type of device managed network.
	Type param.Field[DeviceNetworkUpdateParamsType] `json:"type"`
}

func (DeviceNetworkUpdateParams) MarshalJSON

func (r DeviceNetworkUpdateParams) MarshalJSON() (data []byte, err error)

type DeviceNetworkUpdateParamsConfig

type DeviceNetworkUpdateParamsConfig struct {
	// A network address of the form "host:port" that the WARP client will use to
	// detect the presence of a TLS host.
	TLSSockaddr param.Field[string] `json:"tls_sockaddr,required"`
	// The SHA-256 hash of the TLS certificate presented by the host found at
	// tls_sockaddr. If absent, regular certificate verification (trusted roots, valid
	// timestamp, etc) will be used to validate the certificate.
	Sha256 param.Field[string] `json:"sha256"`
}

The configuration object containing information for the WARP client to detect the managed network.

func (DeviceNetworkUpdateParamsConfig) MarshalJSON

func (r DeviceNetworkUpdateParamsConfig) MarshalJSON() (data []byte, err error)

type DeviceNetworkUpdateParamsType

type DeviceNetworkUpdateParamsType string

The type of device managed network.

const (
	DeviceNetworkUpdateParamsTypeTLS DeviceNetworkUpdateParamsType = "tls"
)

func (DeviceNetworkUpdateParamsType) IsKnown

func (r DeviceNetworkUpdateParamsType) IsKnown() bool

type DeviceNetworkUpdateResponseEnvelope

type DeviceNetworkUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DeviceNetwork         `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceNetworkUpdateResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceNetworkUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceNetworkUpdateResponseEnvelope) UnmarshalJSON

func (r *DeviceNetworkUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceNetworkUpdateResponseEnvelopeSuccess

type DeviceNetworkUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceNetworkUpdateResponseEnvelopeSuccessTrue DeviceNetworkUpdateResponseEnvelopeSuccess = true
)

func (DeviceNetworkUpdateResponseEnvelopeSuccess) IsKnown

type DeviceOverrideCodeListResponse

type DeviceOverrideCodeListResponse struct {
	DisableForTime DeviceOverrideCodeListResponseDisableForTime `json:"disable_for_time"`
	JSON           deviceOverrideCodeListResponseJSON           `json:"-"`
}

func (*DeviceOverrideCodeListResponse) UnmarshalJSON

func (r *DeviceOverrideCodeListResponse) UnmarshalJSON(data []byte) (err error)

type DeviceOverrideCodeListResponseDisableForTime

type DeviceOverrideCodeListResponseDisableForTime struct {
	// Override code that is valid for 1 hour.
	Number1 string `json:"1"`
	// Override code that is valid for 12 hour2.
	Number12 string `json:"12"`
	// Override code that is valid for 24 hour.2.
	Number24 string `json:"24"`
	// Override code that is valid for 3 hours.
	Number3 string `json:"3"`
	// Override code that is valid for 6 hours.
	Number6 string                                           `json:"6"`
	JSON    deviceOverrideCodeListResponseDisableForTimeJSON `json:"-"`
}

func (*DeviceOverrideCodeListResponseDisableForTime) UnmarshalJSON

func (r *DeviceOverrideCodeListResponseDisableForTime) UnmarshalJSON(data []byte) (err error)

type DeviceOverrideCodeListResponseEnvelope

type DeviceOverrideCodeListResponseEnvelope struct {
	Errors   []shared.ResponseInfo          `json:"errors,required"`
	Messages []shared.ResponseInfo          `json:"messages,required"`
	Result   DeviceOverrideCodeListResponse `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DeviceOverrideCodeListResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DeviceOverrideCodeListResponseEnvelopeResultInfo `json:"result_info"`
	JSON       deviceOverrideCodeListResponseEnvelopeJSON       `json:"-"`
}

func (*DeviceOverrideCodeListResponseEnvelope) UnmarshalJSON

func (r *DeviceOverrideCodeListResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceOverrideCodeListResponseEnvelopeResultInfo

type DeviceOverrideCodeListResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                              `json:"total_count"`
	JSON       deviceOverrideCodeListResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DeviceOverrideCodeListResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DeviceOverrideCodeListResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DeviceOverrideCodeListResponseEnvelopeSuccess

type DeviceOverrideCodeListResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceOverrideCodeListResponseEnvelopeSuccessTrue DeviceOverrideCodeListResponseEnvelopeSuccess = true
)

func (DeviceOverrideCodeListResponseEnvelopeSuccess) IsKnown

type DeviceOverrideCodeService

type DeviceOverrideCodeService struct {
	Options []option.RequestOption
}

DeviceOverrideCodeService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDeviceOverrideCodeService method instead.

func NewDeviceOverrideCodeService

func NewDeviceOverrideCodeService(opts ...option.RequestOption) (r *DeviceOverrideCodeService)

NewDeviceOverrideCodeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DeviceOverrideCodeService) List

func (r *DeviceOverrideCodeService) List(ctx context.Context, accountID string, deviceID string, opts ...option.RequestOption) (res *DeviceOverrideCodeListResponse, err error)

Fetches a one-time use admin override code for a device. This relies on the **Admin Override** setting being enabled in your device configuration.

type DevicePolicyDefaultPolicyGetResponse

type DevicePolicyDefaultPolicyGetResponse = interface{}

type DevicePolicyDefaultPolicyGetResponseEnvelope

type DevicePolicyDefaultPolicyGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo                  `json:"errors,required"`
	Messages []shared.ResponseInfo                  `json:"messages,required"`
	Result   []DevicePolicyDefaultPolicyGetResponse `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyDefaultPolicyGetResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyDefaultPolicyGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyDefaultPolicyGetResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyDefaultPolicyGetResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyDefaultPolicyGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyDefaultPolicyGetResponseEnvelopeResultInfo

type DevicePolicyDefaultPolicyGetResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                                    `json:"total_count"`
	JSON       devicePolicyDefaultPolicyGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyDefaultPolicyGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyDefaultPolicyGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyDefaultPolicyGetResponseEnvelopeSuccess

type DevicePolicyDefaultPolicyGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyDefaultPolicyGetResponseEnvelopeSuccessTrue DevicePolicyDefaultPolicyGetResponseEnvelopeSuccess = true
)

func (DevicePolicyDefaultPolicyGetResponseEnvelopeSuccess) IsKnown

type DevicePolicyDefaultPolicyService

type DevicePolicyDefaultPolicyService struct {
	Options []option.RequestOption
}

DevicePolicyDefaultPolicyService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDevicePolicyDefaultPolicyService method instead.

func NewDevicePolicyDefaultPolicyService

func NewDevicePolicyDefaultPolicyService(opts ...option.RequestOption) (r *DevicePolicyDefaultPolicyService)

NewDevicePolicyDefaultPolicyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DevicePolicyDefaultPolicyService) Get

Fetches the default device settings profile for an account.

type DevicePolicyDeleteResponseEnvelope

type DevicePolicyDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []SettingsPolicy      `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyDeleteResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyDeleteResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyDeleteResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyDeleteResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyDeleteResponseEnvelopeResultInfo

type DevicePolicyDeleteResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                          `json:"total_count"`
	JSON       devicePolicyDeleteResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyDeleteResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyDeleteResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyDeleteResponseEnvelopeSuccess

type DevicePolicyDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyDeleteResponseEnvelopeSuccessTrue DevicePolicyDeleteResponseEnvelopeSuccess = true
)

func (DevicePolicyDeleteResponseEnvelopeSuccess) IsKnown

type DevicePolicyEditParams

type DevicePolicyEditParams struct {
	// Whether to allow the user to switch WARP between modes.
	AllowModeSwitch param.Field[bool] `json:"allow_mode_switch"`
	// Whether to receive update notifications when a new version of the client is
	// available.
	AllowUpdates param.Field[bool] `json:"allow_updates"`
	// Whether to allow devices to leave the organization.
	AllowedToLeave param.Field[bool] `json:"allowed_to_leave"`
	// The amount of time in minutes to reconnect after having been disabled.
	AutoConnect param.Field[float64] `json:"auto_connect"`
	// Turn on the captive portal after the specified amount of time.
	CaptivePortal param.Field[float64] `json:"captive_portal"`
	// A description of the policy.
	Description param.Field[string] `json:"description"`
	// If the `dns_server` field of a fallback domain is not present, the client will
	// fall back to a best guess of the default/system DNS resolvers unless this policy
	// option is set to `true`.
	DisableAutoFallback param.Field[bool] `json:"disable_auto_fallback"`
	// Whether the policy will be applied to matching devices.
	Enabled param.Field[bool] `json:"enabled"`
	// Whether to add Microsoft IPs to Split Tunnel exclusions.
	ExcludeOfficeIPs param.Field[bool] `json:"exclude_office_ips"`
	// The wirefilter expression to match devices.
	Match param.Field[string] `json:"match"`
	// The name of the device settings profile.
	Name param.Field[string] `json:"name"`
	// The precedence of the policy. Lower values indicate higher precedence. Policies
	// will be evaluated in ascending order of this field.
	Precedence    param.Field[float64]                             `json:"precedence"`
	ServiceModeV2 param.Field[DevicePolicyEditParamsServiceModeV2] `json:"service_mode_v2"`
	// The URL to launch when the Send Feedback button is clicked.
	SupportURL param.Field[string] `json:"support_url"`
	// Whether to allow the user to turn off the WARP switch and disconnect the client.
	SwitchLocked param.Field[bool] `json:"switch_locked"`
}

func (DevicePolicyEditParams) MarshalJSON

func (r DevicePolicyEditParams) MarshalJSON() (data []byte, err error)

type DevicePolicyEditParamsServiceModeV2

type DevicePolicyEditParamsServiceModeV2 struct {
	// The mode to run the WARP client under.
	Mode param.Field[string] `json:"mode"`
	// The port number when used with proxy mode.
	Port param.Field[float64] `json:"port"`
}

func (DevicePolicyEditParamsServiceModeV2) MarshalJSON

func (r DevicePolicyEditParamsServiceModeV2) MarshalJSON() (data []byte, err error)

type DevicePolicyEditResponse

type DevicePolicyEditResponse = interface{}

type DevicePolicyEditResponseEnvelope

type DevicePolicyEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   SettingsPolicy        `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyEditResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyEditResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyEditResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyEditResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyEditResponseEnvelopeResultInfo

type DevicePolicyEditResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                        `json:"total_count"`
	JSON       devicePolicyEditResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyEditResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyEditResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyEditResponseEnvelopeSuccess

type DevicePolicyEditResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyEditResponseEnvelopeSuccessTrue DevicePolicyEditResponseEnvelopeSuccess = true
)

func (DevicePolicyEditResponseEnvelopeSuccess) IsKnown

type DevicePolicyExcludeGetResponseEnvelope

type DevicePolicyExcludeGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []SplitTunnelExclude  `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyExcludeGetResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyExcludeGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyExcludeGetResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyExcludeGetResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyExcludeGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyExcludeGetResponseEnvelopeResultInfo

type DevicePolicyExcludeGetResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                              `json:"total_count"`
	JSON       devicePolicyExcludeGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyExcludeGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyExcludeGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyExcludeGetResponseEnvelopeSuccess

type DevicePolicyExcludeGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyExcludeGetResponseEnvelopeSuccessTrue DevicePolicyExcludeGetResponseEnvelopeSuccess = true
)

func (DevicePolicyExcludeGetResponseEnvelopeSuccess) IsKnown

type DevicePolicyExcludeService

type DevicePolicyExcludeService struct {
	Options []option.RequestOption
}

DevicePolicyExcludeService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDevicePolicyExcludeService method instead.

func NewDevicePolicyExcludeService

func NewDevicePolicyExcludeService(opts ...option.RequestOption) (r *DevicePolicyExcludeService)

NewDevicePolicyExcludeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DevicePolicyExcludeService) Get

func (r *DevicePolicyExcludeService) Get(ctx context.Context, accountID string, policyID string, opts ...option.RequestOption) (res *[]SplitTunnelExclude, err error)

Fetches the list of routes excluded from the WARP client's tunnel for a specific device settings profile.

func (*DevicePolicyExcludeService) List

Fetches the list of routes excluded from the WARP client's tunnel.

func (*DevicePolicyExcludeService) ListAutoPaging

Fetches the list of routes excluded from the WARP client's tunnel.

func (*DevicePolicyExcludeService) Update

Sets the list of routes excluded from the WARP client's tunnel.

type DevicePolicyExcludeUpdateParams

type DevicePolicyExcludeUpdateParams struct {
	Body []SplitTunnelExcludeParam `json:"body,required"`
}

func (DevicePolicyExcludeUpdateParams) MarshalJSON

func (r DevicePolicyExcludeUpdateParams) MarshalJSON() (data []byte, err error)

type DevicePolicyExcludeUpdateResponseEnvelope

type DevicePolicyExcludeUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []SplitTunnelExclude  `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyExcludeUpdateResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyExcludeUpdateResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyExcludeUpdateResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyExcludeUpdateResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyExcludeUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyExcludeUpdateResponseEnvelopeResultInfo

type DevicePolicyExcludeUpdateResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                                 `json:"total_count"`
	JSON       devicePolicyExcludeUpdateResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyExcludeUpdateResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyExcludeUpdateResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyExcludeUpdateResponseEnvelopeSuccess

type DevicePolicyExcludeUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyExcludeUpdateResponseEnvelopeSuccessTrue DevicePolicyExcludeUpdateResponseEnvelopeSuccess = true
)

func (DevicePolicyExcludeUpdateResponseEnvelopeSuccess) IsKnown

type DevicePolicyFallbackDomainGetResponseEnvelope

type DevicePolicyFallbackDomainGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []FallbackDomain      `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyFallbackDomainGetResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyFallbackDomainGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyFallbackDomainGetResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyFallbackDomainGetResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyFallbackDomainGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyFallbackDomainGetResponseEnvelopeResultInfo

type DevicePolicyFallbackDomainGetResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                                     `json:"total_count"`
	JSON       devicePolicyFallbackDomainGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyFallbackDomainGetResponseEnvelopeResultInfo) UnmarshalJSON

type DevicePolicyFallbackDomainGetResponseEnvelopeSuccess

type DevicePolicyFallbackDomainGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyFallbackDomainGetResponseEnvelopeSuccessTrue DevicePolicyFallbackDomainGetResponseEnvelopeSuccess = true
)

func (DevicePolicyFallbackDomainGetResponseEnvelopeSuccess) IsKnown

type DevicePolicyFallbackDomainService

type DevicePolicyFallbackDomainService struct {
	Options []option.RequestOption
}

DevicePolicyFallbackDomainService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDevicePolicyFallbackDomainService method instead.

func NewDevicePolicyFallbackDomainService

func NewDevicePolicyFallbackDomainService(opts ...option.RequestOption) (r *DevicePolicyFallbackDomainService)

NewDevicePolicyFallbackDomainService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DevicePolicyFallbackDomainService) Get

func (r *DevicePolicyFallbackDomainService) Get(ctx context.Context, accountID string, policyID string, opts ...option.RequestOption) (res *[]FallbackDomain, err error)

Fetches the list of domains to bypass Gateway DNS resolution from a specified device settings profile. These domains will use the specified local DNS resolver instead.

func (*DevicePolicyFallbackDomainService) List

Fetches a list of domains to bypass Gateway DNS resolution. These domains will use the specified local DNS resolver instead.

func (*DevicePolicyFallbackDomainService) ListAutoPaging

Fetches a list of domains to bypass Gateway DNS resolution. These domains will use the specified local DNS resolver instead.

func (*DevicePolicyFallbackDomainService) Update

Sets the list of domains to bypass Gateway DNS resolution. These domains will use the specified local DNS resolver instead. This will only apply to the specified device settings profile.

type DevicePolicyFallbackDomainUpdateParams

type DevicePolicyFallbackDomainUpdateParams struct {
	Body []FallbackDomainParam `json:"body,required"`
}

func (DevicePolicyFallbackDomainUpdateParams) MarshalJSON

func (r DevicePolicyFallbackDomainUpdateParams) MarshalJSON() (data []byte, err error)

type DevicePolicyFallbackDomainUpdateResponseEnvelope

type DevicePolicyFallbackDomainUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []FallbackDomain      `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyFallbackDomainUpdateResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyFallbackDomainUpdateResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyFallbackDomainUpdateResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyFallbackDomainUpdateResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyFallbackDomainUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyFallbackDomainUpdateResponseEnvelopeResultInfo

type DevicePolicyFallbackDomainUpdateResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                                        `json:"total_count"`
	JSON       devicePolicyFallbackDomainUpdateResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyFallbackDomainUpdateResponseEnvelopeResultInfo) UnmarshalJSON

type DevicePolicyFallbackDomainUpdateResponseEnvelopeSuccess

type DevicePolicyFallbackDomainUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyFallbackDomainUpdateResponseEnvelopeSuccessTrue DevicePolicyFallbackDomainUpdateResponseEnvelopeSuccess = true
)

func (DevicePolicyFallbackDomainUpdateResponseEnvelopeSuccess) IsKnown

type DevicePolicyGetResponse

type DevicePolicyGetResponse = interface{}

type DevicePolicyGetResponseEnvelope

type DevicePolicyGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   SettingsPolicy        `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyGetResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyGetResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyGetResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyGetResponseEnvelopeResultInfo

type DevicePolicyGetResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                       `json:"total_count"`
	JSON       devicePolicyGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyGetResponseEnvelopeSuccess

type DevicePolicyGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyGetResponseEnvelopeSuccessTrue DevicePolicyGetResponseEnvelopeSuccess = true
)

func (DevicePolicyGetResponseEnvelopeSuccess) IsKnown

type DevicePolicyIncludeGetResponseEnvelope

type DevicePolicyIncludeGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []SplitTunnelInclude  `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyIncludeGetResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyIncludeGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyIncludeGetResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyIncludeGetResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyIncludeGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyIncludeGetResponseEnvelopeResultInfo

type DevicePolicyIncludeGetResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                              `json:"total_count"`
	JSON       devicePolicyIncludeGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyIncludeGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyIncludeGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyIncludeGetResponseEnvelopeSuccess

type DevicePolicyIncludeGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyIncludeGetResponseEnvelopeSuccessTrue DevicePolicyIncludeGetResponseEnvelopeSuccess = true
)

func (DevicePolicyIncludeGetResponseEnvelopeSuccess) IsKnown

type DevicePolicyIncludeService

type DevicePolicyIncludeService struct {
	Options []option.RequestOption
}

DevicePolicyIncludeService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDevicePolicyIncludeService method instead.

func NewDevicePolicyIncludeService

func NewDevicePolicyIncludeService(opts ...option.RequestOption) (r *DevicePolicyIncludeService)

NewDevicePolicyIncludeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DevicePolicyIncludeService) Get

func (r *DevicePolicyIncludeService) Get(ctx context.Context, accountID string, policyID string, opts ...option.RequestOption) (res *[]SplitTunnelInclude, err error)

Fetches the list of routes included in the WARP client's tunnel for a specific device settings profile.

func (*DevicePolicyIncludeService) List

Fetches the list of routes included in the WARP client's tunnel.

func (*DevicePolicyIncludeService) ListAutoPaging

Fetches the list of routes included in the WARP client's tunnel.

func (*DevicePolicyIncludeService) Update

Sets the list of routes included in the WARP client's tunnel.

type DevicePolicyIncludeUpdateParams

type DevicePolicyIncludeUpdateParams struct {
	Body []SplitTunnelIncludeParam `json:"body,required"`
}

func (DevicePolicyIncludeUpdateParams) MarshalJSON

func (r DevicePolicyIncludeUpdateParams) MarshalJSON() (data []byte, err error)

type DevicePolicyIncludeUpdateResponseEnvelope

type DevicePolicyIncludeUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []SplitTunnelInclude  `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyIncludeUpdateResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyIncludeUpdateResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyIncludeUpdateResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyIncludeUpdateResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyIncludeUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyIncludeUpdateResponseEnvelopeResultInfo

type DevicePolicyIncludeUpdateResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                                 `json:"total_count"`
	JSON       devicePolicyIncludeUpdateResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyIncludeUpdateResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyIncludeUpdateResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyIncludeUpdateResponseEnvelopeSuccess

type DevicePolicyIncludeUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyIncludeUpdateResponseEnvelopeSuccessTrue DevicePolicyIncludeUpdateResponseEnvelopeSuccess = true
)

func (DevicePolicyIncludeUpdateResponseEnvelopeSuccess) IsKnown

type DevicePolicyNewParams

type DevicePolicyNewParams struct {
	// The wirefilter expression to match devices.
	Match param.Field[string] `json:"match,required"`
	// The name of the device settings profile.
	Name param.Field[string] `json:"name,required"`
	// The precedence of the policy. Lower values indicate higher precedence. Policies
	// will be evaluated in ascending order of this field.
	Precedence param.Field[float64] `json:"precedence,required"`
	// Whether to allow the user to switch WARP between modes.
	AllowModeSwitch param.Field[bool] `json:"allow_mode_switch"`
	// Whether to receive update notifications when a new version of the client is
	// available.
	AllowUpdates param.Field[bool] `json:"allow_updates"`
	// Whether to allow devices to leave the organization.
	AllowedToLeave param.Field[bool] `json:"allowed_to_leave"`
	// The amount of time in minutes to reconnect after having been disabled.
	AutoConnect param.Field[float64] `json:"auto_connect"`
	// Turn on the captive portal after the specified amount of time.
	CaptivePortal param.Field[float64] `json:"captive_portal"`
	// A description of the policy.
	Description param.Field[string] `json:"description"`
	// If the `dns_server` field of a fallback domain is not present, the client will
	// fall back to a best guess of the default/system DNS resolvers unless this policy
	// option is set to `true`.
	DisableAutoFallback param.Field[bool] `json:"disable_auto_fallback"`
	// Whether the policy will be applied to matching devices.
	Enabled param.Field[bool] `json:"enabled"`
	// Whether to add Microsoft IPs to Split Tunnel exclusions.
	ExcludeOfficeIPs param.Field[bool] `json:"exclude_office_ips"`
	// The amount of time in minutes a user is allowed access to their LAN. A value of
	// 0 will allow LAN access until the next WARP reconnection, such as a reboot or a
	// laptop waking from sleep. Note that this field is omitted from the response if
	// null or unset.
	LANAllowMinutes param.Field[float64] `json:"lan_allow_minutes"`
	// The size of the subnet for the local access network. Note that this field is
	// omitted from the response if null or unset.
	LANAllowSubnetSize param.Field[float64]                            `json:"lan_allow_subnet_size"`
	ServiceModeV2      param.Field[DevicePolicyNewParamsServiceModeV2] `json:"service_mode_v2"`
	// The URL to launch when the Send Feedback button is clicked.
	SupportURL param.Field[string] `json:"support_url"`
	// Whether to allow the user to turn off the WARP switch and disconnect the client.
	SwitchLocked param.Field[bool] `json:"switch_locked"`
}

func (DevicePolicyNewParams) MarshalJSON

func (r DevicePolicyNewParams) MarshalJSON() (data []byte, err error)

type DevicePolicyNewParamsServiceModeV2

type DevicePolicyNewParamsServiceModeV2 struct {
	// The mode to run the WARP client under.
	Mode param.Field[string] `json:"mode"`
	// The port number when used with proxy mode.
	Port param.Field[float64] `json:"port"`
}

func (DevicePolicyNewParamsServiceModeV2) MarshalJSON

func (r DevicePolicyNewParamsServiceModeV2) MarshalJSON() (data []byte, err error)

type DevicePolicyNewResponse

type DevicePolicyNewResponse = interface{}

type DevicePolicyNewResponseEnvelope

type DevicePolicyNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   SettingsPolicy        `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success    DevicePolicyNewResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo DevicePolicyNewResponseEnvelopeResultInfo `json:"result_info"`
	JSON       devicePolicyNewResponseEnvelopeJSON       `json:"-"`
}

func (*DevicePolicyNewResponseEnvelope) UnmarshalJSON

func (r *DevicePolicyNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePolicyNewResponseEnvelopeResultInfo

type DevicePolicyNewResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                       `json:"total_count"`
	JSON       devicePolicyNewResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*DevicePolicyNewResponseEnvelopeResultInfo) UnmarshalJSON

func (r *DevicePolicyNewResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type DevicePolicyNewResponseEnvelopeSuccess

type DevicePolicyNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePolicyNewResponseEnvelopeSuccessTrue DevicePolicyNewResponseEnvelopeSuccess = true
)

func (DevicePolicyNewResponseEnvelopeSuccess) IsKnown

type DevicePolicyService

type DevicePolicyService struct {
	Options         []option.RequestOption
	DefaultPolicy   *DevicePolicyDefaultPolicyService
	Excludes        *DevicePolicyExcludeService
	FallbackDomains *DevicePolicyFallbackDomainService
	Includes        *DevicePolicyIncludeService
}

DevicePolicyService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDevicePolicyService method instead.

func NewDevicePolicyService

func NewDevicePolicyService(opts ...option.RequestOption) (r *DevicePolicyService)

NewDevicePolicyService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DevicePolicyService) Delete

func (r *DevicePolicyService) Delete(ctx context.Context, accountID string, policyID string, opts ...option.RequestOption) (res *[]SettingsPolicy, err error)

Deletes a device settings profile and fetches a list of the remaining profiles for an account.

func (*DevicePolicyService) Edit

func (r *DevicePolicyService) Edit(ctx context.Context, accountID string, policyID string, body DevicePolicyEditParams, opts ...option.RequestOption) (res *SettingsPolicy, err error)

Updates a configured device settings profile.

func (*DevicePolicyService) Get

func (r *DevicePolicyService) Get(ctx context.Context, accountID string, policyID string, opts ...option.RequestOption) (res *SettingsPolicy, err error)

Fetches a device settings profile by ID.

func (*DevicePolicyService) List

Fetches a list of the device settings profiles for an account.

func (*DevicePolicyService) ListAutoPaging

Fetches a list of the device settings profiles for an account.

func (*DevicePolicyService) New

func (r *DevicePolicyService) New(ctx context.Context, accountID string, body DevicePolicyNewParams, opts ...option.RequestOption) (res *SettingsPolicy, err error)

Creates a device settings profile to be applied to certain devices matching the criteria.

type DevicePostureDeleteResponse

type DevicePostureDeleteResponse struct {
	// API UUID.
	ID   string                          `json:"id"`
	JSON devicePostureDeleteResponseJSON `json:"-"`
}

func (*DevicePostureDeleteResponse) UnmarshalJSON

func (r *DevicePostureDeleteResponse) UnmarshalJSON(data []byte) (err error)

type DevicePostureDeleteResponseEnvelope

type DevicePostureDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo       `json:"errors,required"`
	Messages []shared.ResponseInfo       `json:"messages,required"`
	Result   DevicePostureDeleteResponse `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DevicePostureDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    devicePostureDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*DevicePostureDeleteResponseEnvelope) UnmarshalJSON

func (r *DevicePostureDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePostureDeleteResponseEnvelopeSuccess

type DevicePostureDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePostureDeleteResponseEnvelopeSuccessTrue DevicePostureDeleteResponseEnvelopeSuccess = true
)

func (DevicePostureDeleteResponseEnvelopeSuccess) IsKnown

type DevicePostureGetResponseEnvelope

type DevicePostureGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DevicePostureRule     `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DevicePostureGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    devicePostureGetResponseEnvelopeJSON    `json:"-"`
}

func (*DevicePostureGetResponseEnvelope) UnmarshalJSON

func (r *DevicePostureGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePostureGetResponseEnvelopeSuccess

type DevicePostureGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePostureGetResponseEnvelopeSuccessTrue DevicePostureGetResponseEnvelopeSuccess = true
)

func (DevicePostureGetResponseEnvelopeSuccess) IsKnown

type DevicePostureIntegrationDeleteResponseEnvelope

type DevicePostureIntegrationDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo                       `json:"errors,required"`
	Messages []shared.ResponseInfo                       `json:"messages,required"`
	Result   DevicePostureIntegrationDeleteResponseUnion `json:"result,required"`
	// Whether the API call was successful.
	Success DevicePostureIntegrationDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    devicePostureIntegrationDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*DevicePostureIntegrationDeleteResponseEnvelope) UnmarshalJSON

func (r *DevicePostureIntegrationDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePostureIntegrationDeleteResponseEnvelopeSuccess

type DevicePostureIntegrationDeleteResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePostureIntegrationDeleteResponseEnvelopeSuccessTrue DevicePostureIntegrationDeleteResponseEnvelopeSuccess = true
)

func (DevicePostureIntegrationDeleteResponseEnvelopeSuccess) IsKnown

type DevicePostureIntegrationDeleteResponseUnion

type DevicePostureIntegrationDeleteResponseUnion interface {
	ImplementsZeroTrustDevicePostureIntegrationDeleteResponseUnion()
}

Union satisfied by zero_trust.DevicePostureIntegrationDeleteResponseUnknown or shared.UnionString.

type DevicePostureIntegrationEditParams

type DevicePostureIntegrationEditParams struct {
	// The configuration object containing third-party integration information.
	Config param.Field[DevicePostureIntegrationEditParamsConfigUnion] `json:"config"`
	// The interval between each posture check with the third-party API. Use `m` for
	// minutes (e.g. `5m`) and `h` for hours (e.g. `12h`).
	Interval param.Field[string] `json:"interval"`
	// The name of the device posture integration.
	Name param.Field[string] `json:"name"`
	// The type of device posture integration.
	Type param.Field[DevicePostureIntegrationEditParamsType] `json:"type"`
}

func (DevicePostureIntegrationEditParams) MarshalJSON

func (r DevicePostureIntegrationEditParams) MarshalJSON() (data []byte, err error)

type DevicePostureIntegrationEditParamsConfig

type DevicePostureIntegrationEditParamsConfig struct {
	// The Workspace One API URL provided in the Workspace One Admin Dashboard.
	APIURL param.Field[string] `json:"api_url"`
	// The Workspace One Authorization URL depending on your region.
	AuthURL param.Field[string] `json:"auth_url"`
	// The Workspace One client ID provided in the Workspace One Admin Dashboard.
	ClientID param.Field[string] `json:"client_id"`
	// The Workspace One client secret provided in the Workspace One Admin Dashboard.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The Crowdstrike customer ID.
	CustomerID param.Field[string] `json:"customer_id"`
	// The Uptycs client secret.
	ClientKey param.Field[string] `json:"client_key"`
	// If present, this id will be passed in the `CF-Access-Client-ID` header when
	// hitting the `api_url`
	AccessClientID param.Field[string] `json:"access_client_id"`
	// If present, this secret will be passed in the `CF-Access-Client-Secret` header
	// when hitting the `api_url`
	AccessClientSecret param.Field[string] `json:"access_client_secret"`
}

The configuration object containing third-party integration information.

func (DevicePostureIntegrationEditParamsConfig) MarshalJSON

func (r DevicePostureIntegrationEditParamsConfig) MarshalJSON() (data []byte, err error)

type DevicePostureIntegrationEditParamsConfigTeamsDevicesCrowdstrikeConfigRequest

type DevicePostureIntegrationEditParamsConfigTeamsDevicesCrowdstrikeConfigRequest struct {
	// The Crowdstrike API URL.
	APIURL param.Field[string] `json:"api_url,required"`
	// The Crowdstrike client ID.
	ClientID param.Field[string] `json:"client_id,required"`
	// The Crowdstrike client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The Crowdstrike customer ID.
	CustomerID param.Field[string] `json:"customer_id,required"`
}

func (DevicePostureIntegrationEditParamsConfigTeamsDevicesCrowdstrikeConfigRequest) MarshalJSON

type DevicePostureIntegrationEditParamsConfigTeamsDevicesIntuneConfigRequest

type DevicePostureIntegrationEditParamsConfigTeamsDevicesIntuneConfigRequest struct {
	// The Intune client ID.
	ClientID param.Field[string] `json:"client_id,required"`
	// The Intune client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The Intune customer ID.
	CustomerID param.Field[string] `json:"customer_id,required"`
}

func (DevicePostureIntegrationEditParamsConfigTeamsDevicesIntuneConfigRequest) MarshalJSON

type DevicePostureIntegrationEditParamsConfigTeamsDevicesKolideConfigRequest

type DevicePostureIntegrationEditParamsConfigTeamsDevicesKolideConfigRequest struct {
	// The Kolide client ID.
	ClientID param.Field[string] `json:"client_id,required"`
	// The Kolide client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
}

func (DevicePostureIntegrationEditParamsConfigTeamsDevicesKolideConfigRequest) MarshalJSON

type DevicePostureIntegrationEditParamsConfigTeamsDevicesSentineloneS2sConfigRequest

type DevicePostureIntegrationEditParamsConfigTeamsDevicesSentineloneS2sConfigRequest struct {
	// The SentinelOne S2S API URL.
	APIURL param.Field[string] `json:"api_url,required"`
	// The SentinelOne S2S client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
}

func (DevicePostureIntegrationEditParamsConfigTeamsDevicesSentineloneS2sConfigRequest) MarshalJSON

type DevicePostureIntegrationEditParamsConfigTeamsDevicesTaniumConfigRequest

type DevicePostureIntegrationEditParamsConfigTeamsDevicesTaniumConfigRequest struct {
	// The Tanium API URL.
	APIURL param.Field[string] `json:"api_url,required"`
	// The Tanium client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// If present, this id will be passed in the `CF-Access-Client-ID` header when
	// hitting the `api_url`
	AccessClientID param.Field[string] `json:"access_client_id"`
	// If present, this secret will be passed in the `CF-Access-Client-Secret` header
	// when hitting the `api_url`
	AccessClientSecret param.Field[string] `json:"access_client_secret"`
}

func (DevicePostureIntegrationEditParamsConfigTeamsDevicesTaniumConfigRequest) MarshalJSON

type DevicePostureIntegrationEditParamsConfigTeamsDevicesUptycsConfigRequest

type DevicePostureIntegrationEditParamsConfigTeamsDevicesUptycsConfigRequest struct {
	// The Uptycs API URL.
	APIURL param.Field[string] `json:"api_url,required"`
	// The Uptycs client secret.
	ClientKey param.Field[string] `json:"client_key,required"`
	// The Uptycs client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The Uptycs customer ID.
	CustomerID param.Field[string] `json:"customer_id,required"`
}

func (DevicePostureIntegrationEditParamsConfigTeamsDevicesUptycsConfigRequest) MarshalJSON

type DevicePostureIntegrationEditParamsConfigTeamsDevicesWorkspaceOneConfigRequest

type DevicePostureIntegrationEditParamsConfigTeamsDevicesWorkspaceOneConfigRequest struct {
	// The Workspace One API URL provided in the Workspace One Admin Dashboard.
	APIURL param.Field[string] `json:"api_url,required"`
	// The Workspace One Authorization URL depending on your region.
	AuthURL param.Field[string] `json:"auth_url,required"`
	// The Workspace One client ID provided in the Workspace One Admin Dashboard.
	ClientID param.Field[string] `json:"client_id,required"`
	// The Workspace One client secret provided in the Workspace One Admin Dashboard.
	ClientSecret param.Field[string] `json:"client_secret,required"`
}

func (DevicePostureIntegrationEditParamsConfigTeamsDevicesWorkspaceOneConfigRequest) MarshalJSON

type DevicePostureIntegrationEditParamsType

type DevicePostureIntegrationEditParamsType string

The type of device posture integration.

const (
	DevicePostureIntegrationEditParamsTypeWorkspaceOne   DevicePostureIntegrationEditParamsType = "workspace_one"
	DevicePostureIntegrationEditParamsTypeCrowdstrikeS2s DevicePostureIntegrationEditParamsType = "crowdstrike_s2s"
	DevicePostureIntegrationEditParamsTypeUptycs         DevicePostureIntegrationEditParamsType = "uptycs"
	DevicePostureIntegrationEditParamsTypeIntune         DevicePostureIntegrationEditParamsType = "intune"
	DevicePostureIntegrationEditParamsTypeKolide         DevicePostureIntegrationEditParamsType = "kolide"
	DevicePostureIntegrationEditParamsTypeTanium         DevicePostureIntegrationEditParamsType = "tanium"
	DevicePostureIntegrationEditParamsTypeSentineloneS2s DevicePostureIntegrationEditParamsType = "sentinelone_s2s"
)

func (DevicePostureIntegrationEditParamsType) IsKnown

type DevicePostureIntegrationEditResponseEnvelope

type DevicePostureIntegrationEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Integration           `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DevicePostureIntegrationEditResponseEnvelopeSuccess `json:"success,required"`
	JSON    devicePostureIntegrationEditResponseEnvelopeJSON    `json:"-"`
}

func (*DevicePostureIntegrationEditResponseEnvelope) UnmarshalJSON

func (r *DevicePostureIntegrationEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePostureIntegrationEditResponseEnvelopeSuccess

type DevicePostureIntegrationEditResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePostureIntegrationEditResponseEnvelopeSuccessTrue DevicePostureIntegrationEditResponseEnvelopeSuccess = true
)

func (DevicePostureIntegrationEditResponseEnvelopeSuccess) IsKnown

type DevicePostureIntegrationGetResponseEnvelope

type DevicePostureIntegrationGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Integration           `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DevicePostureIntegrationGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    devicePostureIntegrationGetResponseEnvelopeJSON    `json:"-"`
}

func (*DevicePostureIntegrationGetResponseEnvelope) UnmarshalJSON

func (r *DevicePostureIntegrationGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePostureIntegrationGetResponseEnvelopeSuccess

type DevicePostureIntegrationGetResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePostureIntegrationGetResponseEnvelopeSuccessTrue DevicePostureIntegrationGetResponseEnvelopeSuccess = true
)

func (DevicePostureIntegrationGetResponseEnvelopeSuccess) IsKnown

type DevicePostureIntegrationNewParams

type DevicePostureIntegrationNewParams struct {
	// The configuration object containing third-party integration information.
	Config param.Field[DevicePostureIntegrationNewParamsConfigUnion] `json:"config,required"`
	// The interval between each posture check with the third-party API. Use `m` for
	// minutes (e.g. `5m`) and `h` for hours (e.g. `12h`).
	Interval param.Field[string] `json:"interval,required"`
	// The name of the device posture integration.
	Name param.Field[string] `json:"name,required"`
	// The type of device posture integration.
	Type param.Field[DevicePostureIntegrationNewParamsType] `json:"type,required"`
}

func (DevicePostureIntegrationNewParams) MarshalJSON

func (r DevicePostureIntegrationNewParams) MarshalJSON() (data []byte, err error)

type DevicePostureIntegrationNewParamsConfig

type DevicePostureIntegrationNewParamsConfig struct {
	// The Workspace One API URL provided in the Workspace One Admin Dashboard.
	APIURL param.Field[string] `json:"api_url"`
	// The Workspace One Authorization URL depending on your region.
	AuthURL param.Field[string] `json:"auth_url"`
	// The Workspace One client ID provided in the Workspace One Admin Dashboard.
	ClientID param.Field[string] `json:"client_id"`
	// The Workspace One client secret provided in the Workspace One Admin Dashboard.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The Crowdstrike customer ID.
	CustomerID param.Field[string] `json:"customer_id"`
	// The Uptycs client secret.
	ClientKey param.Field[string] `json:"client_key"`
	// If present, this id will be passed in the `CF-Access-Client-ID` header when
	// hitting the `api_url`
	AccessClientID param.Field[string] `json:"access_client_id"`
	// If present, this secret will be passed in the `CF-Access-Client-Secret` header
	// when hitting the `api_url`
	AccessClientSecret param.Field[string] `json:"access_client_secret"`
}

The configuration object containing third-party integration information.

func (DevicePostureIntegrationNewParamsConfig) MarshalJSON

func (r DevicePostureIntegrationNewParamsConfig) MarshalJSON() (data []byte, err error)

type DevicePostureIntegrationNewParamsConfigTeamsDevicesCrowdstrikeConfigRequest

type DevicePostureIntegrationNewParamsConfigTeamsDevicesCrowdstrikeConfigRequest struct {
	// The Crowdstrike API URL.
	APIURL param.Field[string] `json:"api_url,required"`
	// The Crowdstrike client ID.
	ClientID param.Field[string] `json:"client_id,required"`
	// The Crowdstrike client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The Crowdstrike customer ID.
	CustomerID param.Field[string] `json:"customer_id,required"`
}

func (DevicePostureIntegrationNewParamsConfigTeamsDevicesCrowdstrikeConfigRequest) MarshalJSON

type DevicePostureIntegrationNewParamsConfigTeamsDevicesIntuneConfigRequest

type DevicePostureIntegrationNewParamsConfigTeamsDevicesIntuneConfigRequest struct {
	// The Intune client ID.
	ClientID param.Field[string] `json:"client_id,required"`
	// The Intune client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The Intune customer ID.
	CustomerID param.Field[string] `json:"customer_id,required"`
}

func (DevicePostureIntegrationNewParamsConfigTeamsDevicesIntuneConfigRequest) MarshalJSON

type DevicePostureIntegrationNewParamsConfigTeamsDevicesKolideConfigRequest

type DevicePostureIntegrationNewParamsConfigTeamsDevicesKolideConfigRequest struct {
	// The Kolide client ID.
	ClientID param.Field[string] `json:"client_id,required"`
	// The Kolide client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
}

func (DevicePostureIntegrationNewParamsConfigTeamsDevicesKolideConfigRequest) MarshalJSON

type DevicePostureIntegrationNewParamsConfigTeamsDevicesSentineloneS2sConfigRequest

type DevicePostureIntegrationNewParamsConfigTeamsDevicesSentineloneS2sConfigRequest struct {
	// The SentinelOne S2S API URL.
	APIURL param.Field[string] `json:"api_url,required"`
	// The SentinelOne S2S client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
}

func (DevicePostureIntegrationNewParamsConfigTeamsDevicesSentineloneS2sConfigRequest) MarshalJSON

type DevicePostureIntegrationNewParamsConfigTeamsDevicesTaniumConfigRequest

type DevicePostureIntegrationNewParamsConfigTeamsDevicesTaniumConfigRequest struct {
	// The Tanium API URL.
	APIURL param.Field[string] `json:"api_url,required"`
	// The Tanium client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// If present, this id will be passed in the `CF-Access-Client-ID` header when
	// hitting the `api_url`
	AccessClientID param.Field[string] `json:"access_client_id"`
	// If present, this secret will be passed in the `CF-Access-Client-Secret` header
	// when hitting the `api_url`
	AccessClientSecret param.Field[string] `json:"access_client_secret"`
}

func (DevicePostureIntegrationNewParamsConfigTeamsDevicesTaniumConfigRequest) MarshalJSON

type DevicePostureIntegrationNewParamsConfigTeamsDevicesUptycsConfigRequest

type DevicePostureIntegrationNewParamsConfigTeamsDevicesUptycsConfigRequest struct {
	// The Uptycs API URL.
	APIURL param.Field[string] `json:"api_url,required"`
	// The Uptycs client secret.
	ClientKey param.Field[string] `json:"client_key,required"`
	// The Uptycs client secret.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The Uptycs customer ID.
	CustomerID param.Field[string] `json:"customer_id,required"`
}

func (DevicePostureIntegrationNewParamsConfigTeamsDevicesUptycsConfigRequest) MarshalJSON

type DevicePostureIntegrationNewParamsConfigTeamsDevicesWorkspaceOneConfigRequest

type DevicePostureIntegrationNewParamsConfigTeamsDevicesWorkspaceOneConfigRequest struct {
	// The Workspace One API URL provided in the Workspace One Admin Dashboard.
	APIURL param.Field[string] `json:"api_url,required"`
	// The Workspace One Authorization URL depending on your region.
	AuthURL param.Field[string] `json:"auth_url,required"`
	// The Workspace One client ID provided in the Workspace One Admin Dashboard.
	ClientID param.Field[string] `json:"client_id,required"`
	// The Workspace One client secret provided in the Workspace One Admin Dashboard.
	ClientSecret param.Field[string] `json:"client_secret,required"`
}

func (DevicePostureIntegrationNewParamsConfigTeamsDevicesWorkspaceOneConfigRequest) MarshalJSON

type DevicePostureIntegrationNewParamsType

type DevicePostureIntegrationNewParamsType string

The type of device posture integration.

const (
	DevicePostureIntegrationNewParamsTypeWorkspaceOne   DevicePostureIntegrationNewParamsType = "workspace_one"
	DevicePostureIntegrationNewParamsTypeCrowdstrikeS2s DevicePostureIntegrationNewParamsType = "crowdstrike_s2s"
	DevicePostureIntegrationNewParamsTypeUptycs         DevicePostureIntegrationNewParamsType = "uptycs"
	DevicePostureIntegrationNewParamsTypeIntune         DevicePostureIntegrationNewParamsType = "intune"
	DevicePostureIntegrationNewParamsTypeKolide         DevicePostureIntegrationNewParamsType = "kolide"
	DevicePostureIntegrationNewParamsTypeTanium         DevicePostureIntegrationNewParamsType = "tanium"
	DevicePostureIntegrationNewParamsTypeSentineloneS2s DevicePostureIntegrationNewParamsType = "sentinelone_s2s"
)

func (DevicePostureIntegrationNewParamsType) IsKnown

type DevicePostureIntegrationNewResponseEnvelope

type DevicePostureIntegrationNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Integration           `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DevicePostureIntegrationNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    devicePostureIntegrationNewResponseEnvelopeJSON    `json:"-"`
}

func (*DevicePostureIntegrationNewResponseEnvelope) UnmarshalJSON

func (r *DevicePostureIntegrationNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePostureIntegrationNewResponseEnvelopeSuccess

type DevicePostureIntegrationNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePostureIntegrationNewResponseEnvelopeSuccessTrue DevicePostureIntegrationNewResponseEnvelopeSuccess = true
)

func (DevicePostureIntegrationNewResponseEnvelopeSuccess) IsKnown

type DevicePostureIntegrationService

type DevicePostureIntegrationService struct {
	Options []option.RequestOption
}

DevicePostureIntegrationService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDevicePostureIntegrationService method instead.

func NewDevicePostureIntegrationService

func NewDevicePostureIntegrationService(opts ...option.RequestOption) (r *DevicePostureIntegrationService)

NewDevicePostureIntegrationService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DevicePostureIntegrationService) Delete

Delete a configured device posture integration.

func (*DevicePostureIntegrationService) Edit

func (r *DevicePostureIntegrationService) Edit(ctx context.Context, accountID string, integrationID string, body DevicePostureIntegrationEditParams, opts ...option.RequestOption) (res *Integration, err error)

Updates a configured device posture integration.

func (*DevicePostureIntegrationService) Get

func (r *DevicePostureIntegrationService) Get(ctx context.Context, accountID string, integrationID string, opts ...option.RequestOption) (res *Integration, err error)

Fetches details for a single device posture integration.

func (*DevicePostureIntegrationService) List

Fetches the list of device posture integrations for an account.

func (*DevicePostureIntegrationService) ListAutoPaging

Fetches the list of device posture integrations for an account.

func (*DevicePostureIntegrationService) New

Create a new device posture integration.

type DevicePostureNewParams

type DevicePostureNewParams struct {
	// The name of the device posture rule.
	Name param.Field[string] `json:"name,required"`
	// The type of device posture rule.
	Type param.Field[DevicePostureNewParamsType] `json:"type,required"`
	// The description of the device posture rule.
	Description param.Field[string] `json:"description"`
	// Sets the expiration time for a posture check result. If empty, the result
	// remains valid until it is overwritten by new data from the WARP client.
	Expiration param.Field[string] `json:"expiration"`
	// The value to be checked against.
	Input param.Field[DeviceInputUnionParam] `json:"input"`
	// The conditions that the client must match to run the rule.
	Match param.Field[[]DeviceMatchParam] `json:"match"`
	// Polling frequency for the WARP client posture check. Default: `5m` (poll every
	// five minutes). Minimum: `1m`.
	Schedule param.Field[string] `json:"schedule"`
}

func (DevicePostureNewParams) MarshalJSON

func (r DevicePostureNewParams) MarshalJSON() (data []byte, err error)

type DevicePostureNewParamsType

type DevicePostureNewParamsType string

The type of device posture rule.

const (
	DevicePostureNewParamsTypeFile              DevicePostureNewParamsType = "file"
	DevicePostureNewParamsTypeApplication       DevicePostureNewParamsType = "application"
	DevicePostureNewParamsTypeTanium            DevicePostureNewParamsType = "tanium"
	DevicePostureNewParamsTypeGateway           DevicePostureNewParamsType = "gateway"
	DevicePostureNewParamsTypeWARP              DevicePostureNewParamsType = "warp"
	DevicePostureNewParamsTypeDiskEncryption    DevicePostureNewParamsType = "disk_encryption"
	DevicePostureNewParamsTypeSentinelone       DevicePostureNewParamsType = "sentinelone"
	DevicePostureNewParamsTypeCarbonblack       DevicePostureNewParamsType = "carbonblack"
	DevicePostureNewParamsTypeFirewall          DevicePostureNewParamsType = "firewall"
	DevicePostureNewParamsTypeOSVersion         DevicePostureNewParamsType = "os_version"
	DevicePostureNewParamsTypeDomainJoined      DevicePostureNewParamsType = "domain_joined"
	DevicePostureNewParamsTypeClientCertificate DevicePostureNewParamsType = "client_certificate"
	DevicePostureNewParamsTypeUniqueClientID    DevicePostureNewParamsType = "unique_client_id"
	DevicePostureNewParamsTypeKolide            DevicePostureNewParamsType = "kolide"
	DevicePostureNewParamsTypeTaniumS2s         DevicePostureNewParamsType = "tanium_s2s"
	DevicePostureNewParamsTypeCrowdstrikeS2s    DevicePostureNewParamsType = "crowdstrike_s2s"
	DevicePostureNewParamsTypeIntune            DevicePostureNewParamsType = "intune"
	DevicePostureNewParamsTypeWorkspaceOne      DevicePostureNewParamsType = "workspace_one"
	DevicePostureNewParamsTypeSentineloneS2s    DevicePostureNewParamsType = "sentinelone_s2s"
)

func (DevicePostureNewParamsType) IsKnown

func (r DevicePostureNewParamsType) IsKnown() bool

type DevicePostureNewResponseEnvelope

type DevicePostureNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DevicePostureRule     `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DevicePostureNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    devicePostureNewResponseEnvelopeJSON    `json:"-"`
}

func (*DevicePostureNewResponseEnvelope) UnmarshalJSON

func (r *DevicePostureNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePostureNewResponseEnvelopeSuccess

type DevicePostureNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePostureNewResponseEnvelopeSuccessTrue DevicePostureNewResponseEnvelopeSuccess = true
)

func (DevicePostureNewResponseEnvelopeSuccess) IsKnown

type DevicePostureRule

type DevicePostureRule struct {
	// API UUID.
	ID string `json:"id"`
	// The description of the device posture rule.
	Description string `json:"description"`
	// Sets the expiration time for a posture check result. If empty, the result
	// remains valid until it is overwritten by new data from the WARP client.
	Expiration string `json:"expiration"`
	// The value to be checked against.
	Input DeviceInput `json:"input"`
	// The conditions that the client must match to run the rule.
	Match []DeviceMatch `json:"match"`
	// The name of the device posture rule.
	Name string `json:"name"`
	// Polling frequency for the WARP client posture check. Default: `5m` (poll every
	// five minutes). Minimum: `1m`.
	Schedule string `json:"schedule"`
	// The type of device posture rule.
	Type DevicePostureRuleType `json:"type"`
	JSON devicePostureRuleJSON `json:"-"`
}

func (*DevicePostureRule) UnmarshalJSON

func (r *DevicePostureRule) UnmarshalJSON(data []byte) (err error)

type DevicePostureRuleType

type DevicePostureRuleType string

The type of device posture rule.

const (
	DevicePostureRuleTypeFile              DevicePostureRuleType = "file"
	DevicePostureRuleTypeApplication       DevicePostureRuleType = "application"
	DevicePostureRuleTypeTanium            DevicePostureRuleType = "tanium"
	DevicePostureRuleTypeGateway           DevicePostureRuleType = "gateway"
	DevicePostureRuleTypeWARP              DevicePostureRuleType = "warp"
	DevicePostureRuleTypeDiskEncryption    DevicePostureRuleType = "disk_encryption"
	DevicePostureRuleTypeSentinelone       DevicePostureRuleType = "sentinelone"
	DevicePostureRuleTypeCarbonblack       DevicePostureRuleType = "carbonblack"
	DevicePostureRuleTypeFirewall          DevicePostureRuleType = "firewall"
	DevicePostureRuleTypeOSVersion         DevicePostureRuleType = "os_version"
	DevicePostureRuleTypeDomainJoined      DevicePostureRuleType = "domain_joined"
	DevicePostureRuleTypeClientCertificate DevicePostureRuleType = "client_certificate"
	DevicePostureRuleTypeUniqueClientID    DevicePostureRuleType = "unique_client_id"
	DevicePostureRuleTypeKolide            DevicePostureRuleType = "kolide"
	DevicePostureRuleTypeTaniumS2s         DevicePostureRuleType = "tanium_s2s"
	DevicePostureRuleTypeCrowdstrikeS2s    DevicePostureRuleType = "crowdstrike_s2s"
	DevicePostureRuleTypeIntune            DevicePostureRuleType = "intune"
	DevicePostureRuleTypeWorkspaceOne      DevicePostureRuleType = "workspace_one"
	DevicePostureRuleTypeSentineloneS2s    DevicePostureRuleType = "sentinelone_s2s"
)

func (DevicePostureRuleType) IsKnown

func (r DevicePostureRuleType) IsKnown() bool

type DevicePostureService

type DevicePostureService struct {
	Options      []option.RequestOption
	Integrations *DevicePostureIntegrationService
}

DevicePostureService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDevicePostureService method instead.

func NewDevicePostureService

func NewDevicePostureService(opts ...option.RequestOption) (r *DevicePostureService)

NewDevicePostureService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DevicePostureService) Delete

func (r *DevicePostureService) Delete(ctx context.Context, accountID string, ruleID string, opts ...option.RequestOption) (res *DevicePostureDeleteResponse, err error)

Deletes a device posture rule.

func (*DevicePostureService) Get

func (r *DevicePostureService) Get(ctx context.Context, accountID string, ruleID string, opts ...option.RequestOption) (res *DevicePostureRule, err error)

Fetches a single device posture rule.

func (*DevicePostureService) List

Fetches device posture rules for a Zero Trust account.

func (*DevicePostureService) ListAutoPaging

Fetches device posture rules for a Zero Trust account.

func (*DevicePostureService) New

Creates a new device posture rule.

func (*DevicePostureService) Update

func (r *DevicePostureService) Update(ctx context.Context, accountID string, ruleID string, body DevicePostureUpdateParams, opts ...option.RequestOption) (res *DevicePostureRule, err error)

Updates a device posture rule.

type DevicePostureUpdateParams

type DevicePostureUpdateParams struct {
	// The name of the device posture rule.
	Name param.Field[string] `json:"name,required"`
	// The type of device posture rule.
	Type param.Field[DevicePostureUpdateParamsType] `json:"type,required"`
	// The description of the device posture rule.
	Description param.Field[string] `json:"description"`
	// Sets the expiration time for a posture check result. If empty, the result
	// remains valid until it is overwritten by new data from the WARP client.
	Expiration param.Field[string] `json:"expiration"`
	// The value to be checked against.
	Input param.Field[DeviceInputUnionParam] `json:"input"`
	// The conditions that the client must match to run the rule.
	Match param.Field[[]DeviceMatchParam] `json:"match"`
	// Polling frequency for the WARP client posture check. Default: `5m` (poll every
	// five minutes). Minimum: `1m`.
	Schedule param.Field[string] `json:"schedule"`
}

func (DevicePostureUpdateParams) MarshalJSON

func (r DevicePostureUpdateParams) MarshalJSON() (data []byte, err error)

type DevicePostureUpdateParamsType

type DevicePostureUpdateParamsType string

The type of device posture rule.

const (
	DevicePostureUpdateParamsTypeFile              DevicePostureUpdateParamsType = "file"
	DevicePostureUpdateParamsTypeApplication       DevicePostureUpdateParamsType = "application"
	DevicePostureUpdateParamsTypeTanium            DevicePostureUpdateParamsType = "tanium"
	DevicePostureUpdateParamsTypeGateway           DevicePostureUpdateParamsType = "gateway"
	DevicePostureUpdateParamsTypeWARP              DevicePostureUpdateParamsType = "warp"
	DevicePostureUpdateParamsTypeDiskEncryption    DevicePostureUpdateParamsType = "disk_encryption"
	DevicePostureUpdateParamsTypeSentinelone       DevicePostureUpdateParamsType = "sentinelone"
	DevicePostureUpdateParamsTypeCarbonblack       DevicePostureUpdateParamsType = "carbonblack"
	DevicePostureUpdateParamsTypeFirewall          DevicePostureUpdateParamsType = "firewall"
	DevicePostureUpdateParamsTypeOSVersion         DevicePostureUpdateParamsType = "os_version"
	DevicePostureUpdateParamsTypeDomainJoined      DevicePostureUpdateParamsType = "domain_joined"
	DevicePostureUpdateParamsTypeClientCertificate DevicePostureUpdateParamsType = "client_certificate"
	DevicePostureUpdateParamsTypeUniqueClientID    DevicePostureUpdateParamsType = "unique_client_id"
	DevicePostureUpdateParamsTypeKolide            DevicePostureUpdateParamsType = "kolide"
	DevicePostureUpdateParamsTypeTaniumS2s         DevicePostureUpdateParamsType = "tanium_s2s"
	DevicePostureUpdateParamsTypeCrowdstrikeS2s    DevicePostureUpdateParamsType = "crowdstrike_s2s"
	DevicePostureUpdateParamsTypeIntune            DevicePostureUpdateParamsType = "intune"
	DevicePostureUpdateParamsTypeWorkspaceOne      DevicePostureUpdateParamsType = "workspace_one"
	DevicePostureUpdateParamsTypeSentineloneS2s    DevicePostureUpdateParamsType = "sentinelone_s2s"
)

func (DevicePostureUpdateParamsType) IsKnown

func (r DevicePostureUpdateParamsType) IsKnown() bool

type DevicePostureUpdateResponseEnvelope

type DevicePostureUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DevicePostureRule     `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DevicePostureUpdateResponseEnvelopeSuccess `json:"success,required"`
	JSON    devicePostureUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*DevicePostureUpdateResponseEnvelope) UnmarshalJSON

func (r *DevicePostureUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DevicePostureUpdateResponseEnvelopeSuccess

type DevicePostureUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DevicePostureUpdateResponseEnvelopeSuccessTrue DevicePostureUpdateResponseEnvelopeSuccess = true
)

func (DevicePostureUpdateResponseEnvelopeSuccess) IsKnown

type DeviceRevokeNewParams

type DeviceRevokeNewParams struct {
	// A list of device ids to revoke.
	Body []string `json:"body,required"`
}

func (DeviceRevokeNewParams) MarshalJSON

func (r DeviceRevokeNewParams) MarshalJSON() (data []byte, err error)

type DeviceRevokeNewResponseEnvelope

type DeviceRevokeNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo        `json:"errors,required"`
	Messages []shared.ResponseInfo        `json:"messages,required"`
	Result   DeviceRevokeNewResponseUnion `json:"result,required"`
	// Whether the API call was successful.
	Success DeviceRevokeNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceRevokeNewResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceRevokeNewResponseEnvelope) UnmarshalJSON

func (r *DeviceRevokeNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceRevokeNewResponseEnvelopeSuccess

type DeviceRevokeNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceRevokeNewResponseEnvelopeSuccessTrue DeviceRevokeNewResponseEnvelopeSuccess = true
)

func (DeviceRevokeNewResponseEnvelopeSuccess) IsKnown

type DeviceRevokeNewResponseUnion

type DeviceRevokeNewResponseUnion interface {
	ImplementsZeroTrustDeviceRevokeNewResponseUnion()
}

Union satisfied by zero_trust.DeviceRevokeNewResponseUnknown or shared.UnionString.

type DeviceRevokeService

type DeviceRevokeService struct {
	Options []option.RequestOption
}

DeviceRevokeService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDeviceRevokeService method instead.

func NewDeviceRevokeService

func NewDeviceRevokeService(opts ...option.RequestOption) (r *DeviceRevokeService)

NewDeviceRevokeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DeviceRevokeService) New

Revokes a list of devices.

type DeviceService

type DeviceService struct {
	Options       []option.RequestOption
	DEXTests      *DeviceDEXTestService
	Networks      *DeviceNetworkService
	Policies      *DevicePolicyService
	Posture       *DevicePostureService
	Revoke        *DeviceRevokeService
	Settings      *DeviceSettingService
	Unrevoke      *DeviceUnrevokeService
	OverrideCodes *DeviceOverrideCodeService
}

DeviceService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDeviceService method instead.

func NewDeviceService

func NewDeviceService(opts ...option.RequestOption) (r *DeviceService)

NewDeviceService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DeviceService) Get

func (r *DeviceService) Get(ctx context.Context, accountID string, deviceID string, opts ...option.RequestOption) (res *DeviceGetResponseUnion, err error)

Fetches details for a single device.

func (*DeviceService) List

func (r *DeviceService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[Device], err error)

Fetches a list of enrolled devices.

func (*DeviceService) ListAutoPaging

func (r *DeviceService) ListAutoPaging(ctx context.Context, accountID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[Device]

Fetches a list of enrolled devices.

type DeviceSettingListResponseEnvelope

type DeviceSettingListResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DeviceSettings        `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceSettingListResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceSettingListResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceSettingListResponseEnvelope) UnmarshalJSON

func (r *DeviceSettingListResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceSettingListResponseEnvelopeSuccess

type DeviceSettingListResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceSettingListResponseEnvelopeSuccessTrue DeviceSettingListResponseEnvelopeSuccess = true
)

func (DeviceSettingListResponseEnvelopeSuccess) IsKnown

type DeviceSettingService

type DeviceSettingService struct {
	Options []option.RequestOption
}

DeviceSettingService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDeviceSettingService method instead.

func NewDeviceSettingService

func NewDeviceSettingService(opts ...option.RequestOption) (r *DeviceSettingService)

NewDeviceSettingService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DeviceSettingService) List

func (r *DeviceSettingService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *DeviceSettings, err error)

Describes the current device settings for a Zero Trust account.

func (*DeviceSettingService) Update

func (r *DeviceSettingService) Update(ctx context.Context, accountID string, body DeviceSettingUpdateParams, opts ...option.RequestOption) (res *DeviceSettings, err error)

Updates the current device settings for a Zero Trust account.

type DeviceSettingUpdateParams

type DeviceSettingUpdateParams struct {
	DeviceSettings DeviceSettingsParam `json:"device_settings,required"`
}

func (DeviceSettingUpdateParams) MarshalJSON

func (r DeviceSettingUpdateParams) MarshalJSON() (data []byte, err error)

type DeviceSettingUpdateResponseEnvelope

type DeviceSettingUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   DeviceSettings        `json:"result,required,nullable"`
	// Whether the API call was successful.
	Success DeviceSettingUpdateResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceSettingUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceSettingUpdateResponseEnvelope) UnmarshalJSON

func (r *DeviceSettingUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceSettingUpdateResponseEnvelopeSuccess

type DeviceSettingUpdateResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceSettingUpdateResponseEnvelopeSuccessTrue DeviceSettingUpdateResponseEnvelopeSuccess = true
)

func (DeviceSettingUpdateResponseEnvelopeSuccess) IsKnown

type DeviceSettings

type DeviceSettings struct {
	// Enable gateway proxy filtering on TCP.
	GatewayProxyEnabled bool `json:"gateway_proxy_enabled"`
	// Enable gateway proxy filtering on UDP.
	GatewayUdpProxyEnabled bool `json:"gateway_udp_proxy_enabled"`
	// Enable installation of cloudflare managed root certificate.
	RootCertificateInstallationEnabled bool `json:"root_certificate_installation_enabled"`
	// Enable using CGNAT virtual IPv4.
	UseZtVirtualIP bool               `json:"use_zt_virtual_ip"`
	JSON           deviceSettingsJSON `json:"-"`
}

func (*DeviceSettings) UnmarshalJSON

func (r *DeviceSettings) UnmarshalJSON(data []byte) (err error)

type DeviceSettingsParam

type DeviceSettingsParam struct {
	// Enable gateway proxy filtering on TCP.
	GatewayProxyEnabled param.Field[bool] `json:"gateway_proxy_enabled"`
	// Enable gateway proxy filtering on UDP.
	GatewayUdpProxyEnabled param.Field[bool] `json:"gateway_udp_proxy_enabled"`
	// Enable installation of cloudflare managed root certificate.
	RootCertificateInstallationEnabled param.Field[bool] `json:"root_certificate_installation_enabled"`
	// Enable using CGNAT virtual IPv4.
	UseZtVirtualIP param.Field[bool] `json:"use_zt_virtual_ip"`
}

func (DeviceSettingsParam) MarshalJSON

func (r DeviceSettingsParam) MarshalJSON() (data []byte, err error)

type DeviceUnrevokeNewParams

type DeviceUnrevokeNewParams struct {
	// A list of device ids to unrevoke.
	Body []string `json:"body,required"`
}

func (DeviceUnrevokeNewParams) MarshalJSON

func (r DeviceUnrevokeNewParams) MarshalJSON() (data []byte, err error)

type DeviceUnrevokeNewResponseEnvelope

type DeviceUnrevokeNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo          `json:"errors,required"`
	Messages []shared.ResponseInfo          `json:"messages,required"`
	Result   DeviceUnrevokeNewResponseUnion `json:"result,required"`
	// Whether the API call was successful.
	Success DeviceUnrevokeNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    deviceUnrevokeNewResponseEnvelopeJSON    `json:"-"`
}

func (*DeviceUnrevokeNewResponseEnvelope) UnmarshalJSON

func (r *DeviceUnrevokeNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DeviceUnrevokeNewResponseEnvelopeSuccess

type DeviceUnrevokeNewResponseEnvelopeSuccess bool

Whether the API call was successful.

const (
	DeviceUnrevokeNewResponseEnvelopeSuccessTrue DeviceUnrevokeNewResponseEnvelopeSuccess = true
)

func (DeviceUnrevokeNewResponseEnvelopeSuccess) IsKnown

type DeviceUnrevokeNewResponseUnion

type DeviceUnrevokeNewResponseUnion interface {
	ImplementsZeroTrustDeviceUnrevokeNewResponseUnion()
}

Union satisfied by zero_trust.DeviceUnrevokeNewResponseUnknown or shared.UnionString.

type DeviceUnrevokeService

type DeviceUnrevokeService struct {
	Options []option.RequestOption
}

DeviceUnrevokeService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDeviceUnrevokeService method instead.

func NewDeviceUnrevokeService

func NewDeviceUnrevokeService(opts ...option.RequestOption) (r *DeviceUnrevokeService)

NewDeviceUnrevokeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DeviceUnrevokeService) New

Unrevokes a list of devices.

type DeviceUser

type DeviceUser struct {
	// UUID
	ID string `json:"id"`
	// The contact email address of the user.
	Email string `json:"email"`
	// The enrolled device user's name.
	Name string         `json:"name"`
	JSON deviceUserJSON `json:"-"`
}

func (*DeviceUser) UnmarshalJSON

func (r *DeviceUser) UnmarshalJSON(data []byte) (err error)

type DexhttpTestGetParamsInterval

type DexhttpTestGetParamsInterval string

Time interval for aggregate time slots.

const (
	DexhttpTestGetParamsIntervalMinute DexhttpTestGetParamsInterval = "minute"
	DexhttpTestGetParamsIntervalHour   DexhttpTestGetParamsInterval = "hour"
)

func (DexhttpTestGetParamsInterval) IsKnown

func (r DexhttpTestGetParamsInterval) IsKnown() bool

type DexhttpTestGetResponseEnvelope

type DexhttpTestGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success DexhttpTestGetResponseEnvelopeSuccess `json:"success,required"`
	Result  HTTPDetails                           `json:"result"`
	JSON    dexhttpTestGetResponseEnvelopeJSON    `json:"-"`
}

func (*DexhttpTestGetResponseEnvelope) UnmarshalJSON

func (r *DexhttpTestGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DexhttpTestGetResponseEnvelopeSuccess

type DexhttpTestGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DexhttpTestGetResponseEnvelopeSuccessTrue DexhttpTestGetResponseEnvelopeSuccess = true
)

func (DexhttpTestGetResponseEnvelopeSuccess) IsKnown

type DexhttpTestPercentileGetResponseEnvelope

type DexhttpTestPercentileGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success DexhttpTestPercentileGetResponseEnvelopeSuccess `json:"success,required"`
	Result  HTTPDetailsPercentiles                          `json:"result"`
	JSON    dexhttpTestPercentileGetResponseEnvelopeJSON    `json:"-"`
}

func (*DexhttpTestPercentileGetResponseEnvelope) UnmarshalJSON

func (r *DexhttpTestPercentileGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type DexhttpTestPercentileGetResponseEnvelopeSuccess

type DexhttpTestPercentileGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	DexhttpTestPercentileGetResponseEnvelopeSuccessTrue DexhttpTestPercentileGetResponseEnvelopeSuccess = true
)

func (DexhttpTestPercentileGetResponseEnvelopeSuccess) IsKnown

type DiskEncryptionInput

type DiskEncryptionInput struct {
	// List of volume names to be checked for encryption.
	CheckDisks []CarbonblackInput `json:"checkDisks"`
	// Whether to check all disks for encryption.
	RequireAll bool                    `json:"requireAll"`
	JSON       diskEncryptionInputJSON `json:"-"`
}

func (*DiskEncryptionInput) UnmarshalJSON

func (r *DiskEncryptionInput) UnmarshalJSON(data []byte) (err error)

type DiskEncryptionInputParam

type DiskEncryptionInputParam struct {
	// List of volume names to be checked for encryption.
	CheckDisks param.Field[[]CarbonblackInputParam] `json:"checkDisks"`
	// Whether to check all disks for encryption.
	RequireAll param.Field[bool] `json:"requireAll"`
}

func (DiskEncryptionInputParam) MarshalJSON

func (r DiskEncryptionInputParam) MarshalJSON() (data []byte, err error)

type DomainJoinedInput

type DomainJoinedInput struct {
	// Operating System
	OperatingSystem DomainJoinedInputOperatingSystem `json:"operating_system,required"`
	// Domain
	Domain string                `json:"domain"`
	JSON   domainJoinedInputJSON `json:"-"`
}

func (*DomainJoinedInput) UnmarshalJSON

func (r *DomainJoinedInput) UnmarshalJSON(data []byte) (err error)

type DomainJoinedInputOperatingSystem

type DomainJoinedInputOperatingSystem string

Operating System

const (
	DomainJoinedInputOperatingSystemWindows DomainJoinedInputOperatingSystem = "windows"
)

func (DomainJoinedInputOperatingSystem) IsKnown

type DomainJoinedInputParam

type DomainJoinedInputParam struct {
	// Operating System
	OperatingSystem param.Field[DomainJoinedInputOperatingSystem] `json:"operating_system,required"`
	// Domain
	Domain param.Field[string] `json:"domain"`
}

func (DomainJoinedInputParam) MarshalJSON

func (r DomainJoinedInputParam) MarshalJSON() (data []byte, err error)

type DomainRule

type DomainRule struct {
	EmailDomain DomainRuleEmailDomain `json:"email_domain,required"`
	JSON        domainRuleJSON        `json:"-"`
}

Match an entire email domain.

func (*DomainRule) UnmarshalJSON

func (r *DomainRule) UnmarshalJSON(data []byte) (err error)

type DomainRuleEmailDomain

type DomainRuleEmailDomain struct {
	// The email domain to match.
	Domain string                    `json:"domain,required"`
	JSON   domainRuleEmailDomainJSON `json:"-"`
}

func (*DomainRuleEmailDomain) UnmarshalJSON

func (r *DomainRuleEmailDomain) UnmarshalJSON(data []byte) (err error)

type DomainRuleEmailDomainParam

type DomainRuleEmailDomainParam struct {
	// The email domain to match.
	Domain param.Field[string] `json:"domain,required"`
}

func (DomainRuleEmailDomainParam) MarshalJSON

func (r DomainRuleEmailDomainParam) MarshalJSON() (data []byte, err error)

type DomainRuleParam

type DomainRuleParam struct {
	EmailDomain param.Field[DomainRuleEmailDomainParam] `json:"email_domain,required"`
}

Match an entire email domain.

func (DomainRuleParam) MarshalJSON

func (r DomainRuleParam) MarshalJSON() (data []byte, err error)

type EmailListRule

type EmailListRule struct {
	EmailList EmailListRuleEmailList `json:"email_list,required"`
	JSON      emailListRuleJSON      `json:"-"`
}

Matches an email address from a list.

func (*EmailListRule) UnmarshalJSON

func (r *EmailListRule) UnmarshalJSON(data []byte) (err error)

type EmailListRuleEmailList

type EmailListRuleEmailList struct {
	// The ID of a previously created email list.
	ID   string                     `json:"id,required"`
	JSON emailListRuleEmailListJSON `json:"-"`
}

func (*EmailListRuleEmailList) UnmarshalJSON

func (r *EmailListRuleEmailList) UnmarshalJSON(data []byte) (err error)

type EmailListRuleEmailListParam

type EmailListRuleEmailListParam struct {
	// The ID of a previously created email list.
	ID param.Field[string] `json:"id,required"`
}

func (EmailListRuleEmailListParam) MarshalJSON

func (r EmailListRuleEmailListParam) MarshalJSON() (data []byte, err error)

type EmailListRuleParam

type EmailListRuleParam struct {
	EmailList param.Field[EmailListRuleEmailListParam] `json:"email_list,required"`
}

Matches an email address from a list.

func (EmailListRuleParam) MarshalJSON

func (r EmailListRuleParam) MarshalJSON() (data []byte, err error)

type EmailRule

type EmailRule struct {
	Email EmailRuleEmail `json:"email,required"`
	JSON  emailRuleJSON  `json:"-"`
}

Matches a specific email.

func (*EmailRule) UnmarshalJSON

func (r *EmailRule) UnmarshalJSON(data []byte) (err error)

type EmailRuleEmail

type EmailRuleEmail struct {
	// The email of the user.
	Email string             `json:"email,required" format:"email"`
	JSON  emailRuleEmailJSON `json:"-"`
}

func (*EmailRuleEmail) UnmarshalJSON

func (r *EmailRuleEmail) UnmarshalJSON(data []byte) (err error)

type EmailRuleEmailParam

type EmailRuleEmailParam struct {
	// The email of the user.
	Email param.Field[string] `json:"email,required" format:"email"`
}

func (EmailRuleEmailParam) MarshalJSON

func (r EmailRuleEmailParam) MarshalJSON() (data []byte, err error)

type EmailRuleParam

type EmailRuleParam struct {
	Email param.Field[EmailRuleEmailParam] `json:"email,required"`
}

Matches a specific email.

func (EmailRuleParam) MarshalJSON

func (r EmailRuleParam) MarshalJSON() (data []byte, err error)

type Endpoint

type Endpoint struct {
	DOH  DOHEndpoint  `json:"doh"`
	DOT  DOTEndpoint  `json:"dot"`
	IPV4 IPV4Endpoint `json:"ipv4"`
	IPV6 IPV6Endpoint `json:"ipv6"`
	JSON endpointJSON `json:"-"`
}

The destination endpoints configured for this location. When updating a location, if this field is absent or set with null, the endpoints configuration remains unchanged.

func (*Endpoint) UnmarshalJSON

func (r *Endpoint) UnmarshalJSON(data []byte) (err error)

type EndpointParam

type EndpointParam struct {
	DOH  param.Field[DOHEndpointParam]  `json:"doh"`
	DOT  param.Field[DOTEndpointParam]  `json:"dot"`
	IPV4 param.Field[IPV4EndpointParam] `json:"ipv4"`
	IPV6 param.Field[IPV6EndpointParam] `json:"ipv6"`
}

The destination endpoints configured for this location. When updating a location, if this field is absent or set with null, the endpoints configuration remains unchanged.

func (EndpointParam) MarshalJSON

func (r EndpointParam) MarshalJSON() (data []byte, err error)

type Error

type Error = apierror.Error

type ErrorData

type ErrorData = shared.ErrorData

This is an alias to an internal type.

type EveryoneRule

type EveryoneRule struct {
	// An empty object which matches on all users.
	Everyone interface{}      `json:"everyone,required"`
	JSON     everyoneRuleJSON `json:"-"`
}

Matches everyone.

func (*EveryoneRule) UnmarshalJSON

func (r *EveryoneRule) UnmarshalJSON(data []byte) (err error)

type EveryoneRuleParam

type EveryoneRuleParam struct {
	// An empty object which matches on all users.
	Everyone param.Field[interface{}] `json:"everyone,required"`
}

Matches everyone.

func (EveryoneRuleParam) MarshalJSON

func (r EveryoneRuleParam) MarshalJSON() (data []byte, err error)

type ExtendedEmailMatching

type ExtendedEmailMatching struct {
	// Enable matching all variants of user emails (with + or . modifiers) used as
	// criteria in Firewall policies.
	Enabled bool                      `json:"enabled"`
	JSON    extendedEmailMatchingJSON `json:"-"`
}

Extended e-mail matching settings.

func (*ExtendedEmailMatching) UnmarshalJSON

func (r *ExtendedEmailMatching) UnmarshalJSON(data []byte) (err error)

type ExtendedEmailMatchingParam

type ExtendedEmailMatchingParam struct {
	// Enable matching all variants of user emails (with + or . modifiers) used as
	// criteria in Firewall policies.
	Enabled param.Field[bool] `json:"enabled"`
}

Extended e-mail matching settings.

func (ExtendedEmailMatchingParam) MarshalJSON

func (r ExtendedEmailMatchingParam) MarshalJSON() (data []byte, err error)

type ExternalEvaluationRule

type ExternalEvaluationRule struct {
	ExternalEvaluation ExternalEvaluationRuleExternalEvaluation `json:"external_evaluation,required"`
	JSON               externalEvaluationRuleJSON               `json:"-"`
}

Create Allow or Block policies which evaluate the user based on custom criteria.

func (*ExternalEvaluationRule) UnmarshalJSON

func (r *ExternalEvaluationRule) UnmarshalJSON(data []byte) (err error)

type ExternalEvaluationRuleExternalEvaluation

type ExternalEvaluationRuleExternalEvaluation struct {
	// The API endpoint containing your business logic.
	EvaluateURL string `json:"evaluate_url,required"`
	// The API endpoint containing the key that Access uses to verify that the response
	// came from your API.
	KeysURL string                                       `json:"keys_url,required"`
	JSON    externalEvaluationRuleExternalEvaluationJSON `json:"-"`
}

func (*ExternalEvaluationRuleExternalEvaluation) UnmarshalJSON

func (r *ExternalEvaluationRuleExternalEvaluation) UnmarshalJSON(data []byte) (err error)

type ExternalEvaluationRuleExternalEvaluationParam

type ExternalEvaluationRuleExternalEvaluationParam struct {
	// The API endpoint containing your business logic.
	EvaluateURL param.Field[string] `json:"evaluate_url,required"`
	// The API endpoint containing the key that Access uses to verify that the response
	// came from your API.
	KeysURL param.Field[string] `json:"keys_url,required"`
}

func (ExternalEvaluationRuleExternalEvaluationParam) MarshalJSON

func (r ExternalEvaluationRuleExternalEvaluationParam) MarshalJSON() (data []byte, err error)

type ExternalEvaluationRuleParam

type ExternalEvaluationRuleParam struct {
	ExternalEvaluation param.Field[ExternalEvaluationRuleExternalEvaluationParam] `json:"external_evaluation,required"`
}

Create Allow or Block policies which evaluate the user based on custom criteria.

func (ExternalEvaluationRuleParam) MarshalJSON

func (r ExternalEvaluationRuleParam) MarshalJSON() (data []byte, err error)

type FallbackDomain

type FallbackDomain struct {
	// The domain suffix to match when resolving locally.
	Suffix string `json:"suffix,required"`
	// A description of the fallback domain, displayed in the client UI.
	Description string `json:"description"`
	// A list of IP addresses to handle domain resolution.
	DNSServer []interface{}      `json:"dns_server"`
	JSON      fallbackDomainJSON `json:"-"`
}

func (*FallbackDomain) UnmarshalJSON

func (r *FallbackDomain) UnmarshalJSON(data []byte) (err error)

type FallbackDomainParam

type FallbackDomainParam struct {
	// The domain suffix to match when resolving locally.
	Suffix param.Field[string] `json:"suffix,required"`
	// A description of the fallback domain, displayed in the client UI.
	Description param.Field[string] `json:"description"`
	// A list of IP addresses to handle domain resolution.
	DNSServer param.Field[[]interface{}] `json:"dns_server"`
}

func (FallbackDomainParam) MarshalJSON

func (r FallbackDomainParam) MarshalJSON() (data []byte, err error)

type FileInput

type FileInput struct {
	// Operating system
	OperatingSystem FileInputOperatingSystem `json:"operating_system,required"`
	// File path.
	Path string `json:"path,required"`
	// Whether or not file exists
	Exists bool `json:"exists"`
	// SHA-256.
	Sha256 string `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint string        `json:"thumbprint"`
	JSON       fileInputJSON `json:"-"`
}

func (*FileInput) UnmarshalJSON

func (r *FileInput) UnmarshalJSON(data []byte) (err error)

type FileInputOperatingSystem

type FileInputOperatingSystem string

Operating system

const (
	FileInputOperatingSystemWindows FileInputOperatingSystem = "windows"
	FileInputOperatingSystemLinux   FileInputOperatingSystem = "linux"
	FileInputOperatingSystemMac     FileInputOperatingSystem = "mac"
)

func (FileInputOperatingSystem) IsKnown

func (r FileInputOperatingSystem) IsKnown() bool

type FileInputParam

type FileInputParam struct {
	// Operating system
	OperatingSystem param.Field[FileInputOperatingSystem] `json:"operating_system,required"`
	// File path.
	Path param.Field[string] `json:"path,required"`
	// Whether or not file exists
	Exists param.Field[bool] `json:"exists"`
	// SHA-256.
	Sha256 param.Field[string] `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint param.Field[string] `json:"thumbprint"`
}

func (FileInputParam) MarshalJSON

func (r FileInputParam) MarshalJSON() (data []byte, err error)

type FipsSettings

type FipsSettings struct {
	// Enable only cipher suites and TLS versions compliant with FIPS 140-2.
	TLS  bool             `json:"tls"`
	JSON fipsSettingsJSON `json:"-"`
}

FIPS settings.

func (*FipsSettings) UnmarshalJSON

func (r *FipsSettings) UnmarshalJSON(data []byte) (err error)

type FipsSettingsParam

type FipsSettingsParam struct {
	// Enable only cipher suites and TLS versions compliant with FIPS 140-2.
	TLS param.Field[bool] `json:"tls"`
}

FIPS settings.

func (FipsSettingsParam) MarshalJSON

func (r FipsSettingsParam) MarshalJSON() (data []byte, err error)

type FirewallInput

type FirewallInput struct {
	// Enabled
	Enabled bool `json:"enabled,required"`
	// Operating System
	OperatingSystem FirewallInputOperatingSystem `json:"operating_system,required"`
	JSON            firewallInputJSON            `json:"-"`
}

func (*FirewallInput) UnmarshalJSON

func (r *FirewallInput) UnmarshalJSON(data []byte) (err error)

type FirewallInputOperatingSystem

type FirewallInputOperatingSystem string

Operating System

const (
	FirewallInputOperatingSystemWindows FirewallInputOperatingSystem = "windows"
	FirewallInputOperatingSystemMac     FirewallInputOperatingSystem = "mac"
)

func (FirewallInputOperatingSystem) IsKnown

func (r FirewallInputOperatingSystem) IsKnown() bool

type FirewallInputParam

type FirewallInputParam struct {
	// Enabled
	Enabled param.Field[bool] `json:"enabled,required"`
	// Operating System
	OperatingSystem param.Field[FirewallInputOperatingSystem] `json:"operating_system,required"`
}

func (FirewallInputParam) MarshalJSON

func (r FirewallInputParam) MarshalJSON() (data []byte, err error)

type GSuiteGroupRule

type GSuiteGroupRule struct {
	GSuite GSuiteGroupRuleGSuite `json:"gsuite,required"`
	JSON   GSuiteGroupRuleJSON   `json:"-"`
}

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

func (*GSuiteGroupRule) UnmarshalJSON

func (r *GSuiteGroupRule) UnmarshalJSON(data []byte) (err error)

type GSuiteGroupRuleGSuite

type GSuiteGroupRuleGSuite struct {
	// The ID of your Google Workspace identity provider.
	ConnectionID string `json:"connection_id,required"`
	// The email of the Google Workspace group.
	Email string                    `json:"email,required"`
	JSON  GSuiteGroupRuleGSuiteJSON `json:"-"`
}

func (*GSuiteGroupRuleGSuite) UnmarshalJSON

func (r *GSuiteGroupRuleGSuite) UnmarshalJSON(data []byte) (err error)

type GSuiteGroupRuleGSuiteJSON

type GSuiteGroupRuleGSuiteJSON struct {
	ConnectionID apijson.Field
	Email        apijson.Field

	ExtraFields map[string]apijson.Field
	// contains filtered or unexported fields
}

GSuiteGroupRuleGSuiteJSON contains the JSON metadata for the struct GSuiteGroupRuleGSuite

func (GSuiteGroupRuleGSuiteJSON) RawJSON

func (r GSuiteGroupRuleGSuiteJSON) RawJSON() string

type GSuiteGroupRuleGSuiteParam

type GSuiteGroupRuleGSuiteParam struct {
	// The ID of your Google Workspace identity provider.
	ConnectionID param.Field[string] `json:"connection_id,required"`
	// The email of the Google Workspace group.
	Email param.Field[string] `json:"email,required"`
}

func (GSuiteGroupRuleGSuiteParam) MarshalJSON

func (r GSuiteGroupRuleGSuiteParam) MarshalJSON() (data []byte, err error)

type GSuiteGroupRuleJSON

type GSuiteGroupRuleJSON struct {
	GSuite apijson.Field

	ExtraFields map[string]apijson.Field
	// contains filtered or unexported fields
}

GSuiteGroupRuleJSON contains the JSON metadata for the struct GSuiteGroupRule

func (GSuiteGroupRuleJSON) RawJSON

func (r GSuiteGroupRuleJSON) RawJSON() string

type GSuiteGroupRuleParam

type GSuiteGroupRuleParam struct {
	GSuite param.Field[GSuiteGroupRuleGSuiteParam] `json:"gsuite,required"`
}

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

func (GSuiteGroupRuleParam) MarshalJSON

func (r GSuiteGroupRuleParam) MarshalJSON() (data []byte, err error)

type GatewayAppTypeService

type GatewayAppTypeService struct {
	Options []option.RequestOption
}

GatewayAppTypeService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayAppTypeService method instead.

func NewGatewayAppTypeService

func NewGatewayAppTypeService(opts ...option.RequestOption) (r *GatewayAppTypeService)

NewGatewayAppTypeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayAppTypeService) List

func (r *GatewayAppTypeService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[AppType], err error)

Fetches all application and application type mappings.

func (*GatewayAppTypeService) ListAutoPaging

Fetches all application and application type mappings.

type GatewayAuditSSHSettingGetResponseEnvelope

type GatewayAuditSSHSettingGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayAuditSSHSettingGetResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewaySettings                                  `json:"result"`
	JSON    gatewayAuditSSHSettingGetResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayAuditSSHSettingGetResponseEnvelope) UnmarshalJSON

func (r *GatewayAuditSSHSettingGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayAuditSSHSettingGetResponseEnvelopeSuccess

type GatewayAuditSSHSettingGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayAuditSSHSettingGetResponseEnvelopeSuccessTrue GatewayAuditSSHSettingGetResponseEnvelopeSuccess = true
)

func (GatewayAuditSSHSettingGetResponseEnvelopeSuccess) IsKnown

type GatewayAuditSSHSettingService

type GatewayAuditSSHSettingService struct {
	Options []option.RequestOption
}

GatewayAuditSSHSettingService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayAuditSSHSettingService method instead.

func NewGatewayAuditSSHSettingService

func NewGatewayAuditSSHSettingService(opts ...option.RequestOption) (r *GatewayAuditSSHSettingService)

NewGatewayAuditSSHSettingService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayAuditSSHSettingService) Get

func (r *GatewayAuditSSHSettingService) Get(ctx context.Context, accountID string, opts ...option.RequestOption) (res *GatewaySettings, err error)

Get all Zero Trust Audit SSH settings for an account.

func (*GatewayAuditSSHSettingService) Update

Updates Zero Trust Audit SSH settings.

type GatewayAuditSSHSettingUpdateParams

type GatewayAuditSSHSettingUpdateParams struct {
	// SSH encryption public key
	PublicKey param.Field[string] `json:"public_key,required"`
	// Seed ID
	SeedID param.Field[string] `json:"seed_id"`
}

func (GatewayAuditSSHSettingUpdateParams) MarshalJSON

func (r GatewayAuditSSHSettingUpdateParams) MarshalJSON() (data []byte, err error)

type GatewayAuditSSHSettingUpdateResponseEnvelope

type GatewayAuditSSHSettingUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayAuditSSHSettingUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewaySettings                                     `json:"result"`
	JSON    gatewayAuditSSHSettingUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayAuditSSHSettingUpdateResponseEnvelope) UnmarshalJSON

func (r *GatewayAuditSSHSettingUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayAuditSSHSettingUpdateResponseEnvelopeSuccess

type GatewayAuditSSHSettingUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayAuditSSHSettingUpdateResponseEnvelopeSuccessTrue GatewayAuditSSHSettingUpdateResponseEnvelopeSuccess = true
)

func (GatewayAuditSSHSettingUpdateResponseEnvelopeSuccess) IsKnown

type GatewayCategoryService

type GatewayCategoryService struct {
	Options []option.RequestOption
}

GatewayCategoryService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayCategoryService method instead.

func NewGatewayCategoryService

func NewGatewayCategoryService(opts ...option.RequestOption) (r *GatewayCategoryService)

NewGatewayCategoryService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayCategoryService) List

func (r *GatewayCategoryService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[Category], err error)

Fetches a list of all categories.

func (*GatewayCategoryService) ListAutoPaging

Fetches a list of all categories.

type GatewayCertificateActivateParams

type GatewayCertificateActivateParams struct {
	Body interface{} `json:"body,required"`
}

func (GatewayCertificateActivateParams) MarshalJSON

func (r GatewayCertificateActivateParams) MarshalJSON() (data []byte, err error)

type GatewayCertificateActivateResponse

type GatewayCertificateActivateResponse struct {
	// Certificate UUID tag.
	ID string `json:"id"`
	// The deployment status of the certificate on Cloudflare's edge. Certificates in
	// the 'active' state may be used for Gateway TLS interception.
	BindingStatus GatewayCertificateActivateResponseBindingStatus `json:"binding_status"`
	CreatedAt     time.Time                                       `json:"created_at" format:"date-time"`
	// Use this certificate for Gateway TLS interception
	Enabled   bool      `json:"enabled"`
	ExpiresOn time.Time `json:"expires_on" format:"date-time"`
	// The type of certificate, either BYO-PKI (custom) or Gateway-managed.
	Type       GatewayCertificateActivateResponseType `json:"type"`
	UpdatedAt  time.Time                              `json:"updated_at" format:"date-time"`
	UploadedOn time.Time                              `json:"uploaded_on" format:"date-time"`
	JSON       gatewayCertificateActivateResponseJSON `json:"-"`
}

func (*GatewayCertificateActivateResponse) UnmarshalJSON

func (r *GatewayCertificateActivateResponse) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateActivateResponseBindingStatus

type GatewayCertificateActivateResponseBindingStatus string

The deployment status of the certificate on Cloudflare's edge. Certificates in the 'active' state may be used for Gateway TLS interception.

const (
	GatewayCertificateActivateResponseBindingStatusPendingDeployment GatewayCertificateActivateResponseBindingStatus = "pending_deployment"
	GatewayCertificateActivateResponseBindingStatusActive            GatewayCertificateActivateResponseBindingStatus = "active"
	GatewayCertificateActivateResponseBindingStatusPendingDeletion   GatewayCertificateActivateResponseBindingStatus = "pending_deletion"
	GatewayCertificateActivateResponseBindingStatusInactive          GatewayCertificateActivateResponseBindingStatus = "inactive"
)

func (GatewayCertificateActivateResponseBindingStatus) IsKnown

type GatewayCertificateActivateResponseEnvelope

type GatewayCertificateActivateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayCertificateActivateResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayCertificateActivateResponse                `json:"result"`
	JSON    gatewayCertificateActivateResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayCertificateActivateResponseEnvelope) UnmarshalJSON

func (r *GatewayCertificateActivateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateActivateResponseEnvelopeSuccess

type GatewayCertificateActivateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayCertificateActivateResponseEnvelopeSuccessTrue GatewayCertificateActivateResponseEnvelopeSuccess = true
)

func (GatewayCertificateActivateResponseEnvelopeSuccess) IsKnown

type GatewayCertificateActivateResponseType

type GatewayCertificateActivateResponseType string

The type of certificate, either BYO-PKI (custom) or Gateway-managed.

const (
	GatewayCertificateActivateResponseTypeCustom         GatewayCertificateActivateResponseType = "custom"
	GatewayCertificateActivateResponseTypeGatewayManaged GatewayCertificateActivateResponseType = "gateway_managed"
)

func (GatewayCertificateActivateResponseType) IsKnown

type GatewayCertificateDeactivateParams

type GatewayCertificateDeactivateParams struct {
	Body interface{} `json:"body,required"`
}

func (GatewayCertificateDeactivateParams) MarshalJSON

func (r GatewayCertificateDeactivateParams) MarshalJSON() (data []byte, err error)

type GatewayCertificateDeactivateResponse

type GatewayCertificateDeactivateResponse struct {
	// Certificate UUID tag.
	ID string `json:"id"`
	// The deployment status of the certificate on Cloudflare's edge. Certificates in
	// the 'active' state may be used for Gateway TLS interception.
	BindingStatus GatewayCertificateDeactivateResponseBindingStatus `json:"binding_status"`
	CreatedAt     time.Time                                         `json:"created_at" format:"date-time"`
	// Use this certificate for Gateway TLS interception
	Enabled   bool      `json:"enabled"`
	ExpiresOn time.Time `json:"expires_on" format:"date-time"`
	// The type of certificate, either BYO-PKI (custom) or Gateway-managed.
	Type       GatewayCertificateDeactivateResponseType `json:"type"`
	UpdatedAt  time.Time                                `json:"updated_at" format:"date-time"`
	UploadedOn time.Time                                `json:"uploaded_on" format:"date-time"`
	JSON       gatewayCertificateDeactivateResponseJSON `json:"-"`
}

func (*GatewayCertificateDeactivateResponse) UnmarshalJSON

func (r *GatewayCertificateDeactivateResponse) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateDeactivateResponseBindingStatus

type GatewayCertificateDeactivateResponseBindingStatus string

The deployment status of the certificate on Cloudflare's edge. Certificates in the 'active' state may be used for Gateway TLS interception.

const (
	GatewayCertificateDeactivateResponseBindingStatusPendingDeployment GatewayCertificateDeactivateResponseBindingStatus = "pending_deployment"
	GatewayCertificateDeactivateResponseBindingStatusActive            GatewayCertificateDeactivateResponseBindingStatus = "active"
	GatewayCertificateDeactivateResponseBindingStatusPendingDeletion   GatewayCertificateDeactivateResponseBindingStatus = "pending_deletion"
	GatewayCertificateDeactivateResponseBindingStatusInactive          GatewayCertificateDeactivateResponseBindingStatus = "inactive"
)

func (GatewayCertificateDeactivateResponseBindingStatus) IsKnown

type GatewayCertificateDeactivateResponseEnvelope

type GatewayCertificateDeactivateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayCertificateDeactivateResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayCertificateDeactivateResponse                `json:"result"`
	JSON    gatewayCertificateDeactivateResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayCertificateDeactivateResponseEnvelope) UnmarshalJSON

func (r *GatewayCertificateDeactivateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateDeactivateResponseEnvelopeSuccess

type GatewayCertificateDeactivateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayCertificateDeactivateResponseEnvelopeSuccessTrue GatewayCertificateDeactivateResponseEnvelopeSuccess = true
)

func (GatewayCertificateDeactivateResponseEnvelopeSuccess) IsKnown

type GatewayCertificateDeactivateResponseType

type GatewayCertificateDeactivateResponseType string

The type of certificate, either BYO-PKI (custom) or Gateway-managed.

const (
	GatewayCertificateDeactivateResponseTypeCustom         GatewayCertificateDeactivateResponseType = "custom"
	GatewayCertificateDeactivateResponseTypeGatewayManaged GatewayCertificateDeactivateResponseType = "gateway_managed"
)

func (GatewayCertificateDeactivateResponseType) IsKnown

type GatewayCertificateDeleteResponse

type GatewayCertificateDeleteResponse struct {
	// Certificate UUID tag.
	ID string `json:"id"`
	// The deployment status of the certificate on Cloudflare's edge. Certificates in
	// the 'active' state may be used for Gateway TLS interception.
	BindingStatus GatewayCertificateDeleteResponseBindingStatus `json:"binding_status"`
	CreatedAt     time.Time                                     `json:"created_at" format:"date-time"`
	// Use this certificate for Gateway TLS interception
	Enabled   bool      `json:"enabled"`
	ExpiresOn time.Time `json:"expires_on" format:"date-time"`
	// The type of certificate, either BYO-PKI (custom) or Gateway-managed.
	Type       GatewayCertificateDeleteResponseType `json:"type"`
	UpdatedAt  time.Time                            `json:"updated_at" format:"date-time"`
	UploadedOn time.Time                            `json:"uploaded_on" format:"date-time"`
	JSON       gatewayCertificateDeleteResponseJSON `json:"-"`
}

func (*GatewayCertificateDeleteResponse) UnmarshalJSON

func (r *GatewayCertificateDeleteResponse) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateDeleteResponseBindingStatus

type GatewayCertificateDeleteResponseBindingStatus string

The deployment status of the certificate on Cloudflare's edge. Certificates in the 'active' state may be used for Gateway TLS interception.

const (
	GatewayCertificateDeleteResponseBindingStatusPendingDeployment GatewayCertificateDeleteResponseBindingStatus = "pending_deployment"
	GatewayCertificateDeleteResponseBindingStatusActive            GatewayCertificateDeleteResponseBindingStatus = "active"
	GatewayCertificateDeleteResponseBindingStatusPendingDeletion   GatewayCertificateDeleteResponseBindingStatus = "pending_deletion"
	GatewayCertificateDeleteResponseBindingStatusInactive          GatewayCertificateDeleteResponseBindingStatus = "inactive"
)

func (GatewayCertificateDeleteResponseBindingStatus) IsKnown

type GatewayCertificateDeleteResponseEnvelope

type GatewayCertificateDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayCertificateDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayCertificateDeleteResponse                `json:"result"`
	JSON    gatewayCertificateDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayCertificateDeleteResponseEnvelope) UnmarshalJSON

func (r *GatewayCertificateDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateDeleteResponseEnvelopeSuccess

type GatewayCertificateDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayCertificateDeleteResponseEnvelopeSuccessTrue GatewayCertificateDeleteResponseEnvelopeSuccess = true
)

func (GatewayCertificateDeleteResponseEnvelopeSuccess) IsKnown

type GatewayCertificateDeleteResponseType

type GatewayCertificateDeleteResponseType string

The type of certificate, either BYO-PKI (custom) or Gateway-managed.

const (
	GatewayCertificateDeleteResponseTypeCustom         GatewayCertificateDeleteResponseType = "custom"
	GatewayCertificateDeleteResponseTypeGatewayManaged GatewayCertificateDeleteResponseType = "gateway_managed"
)

func (GatewayCertificateDeleteResponseType) IsKnown

type GatewayCertificateGetResponse

type GatewayCertificateGetResponse struct {
	// Certificate UUID tag.
	ID string `json:"id"`
	// The deployment status of the certificate on Cloudflare's edge. Certificates in
	// the 'active' state may be used for Gateway TLS interception.
	BindingStatus GatewayCertificateGetResponseBindingStatus `json:"binding_status"`
	CreatedAt     time.Time                                  `json:"created_at" format:"date-time"`
	// Use this certificate for Gateway TLS interception
	Enabled   bool      `json:"enabled"`
	ExpiresOn time.Time `json:"expires_on" format:"date-time"`
	// The type of certificate, either BYO-PKI (custom) or Gateway-managed.
	Type       GatewayCertificateGetResponseType `json:"type"`
	UpdatedAt  time.Time                         `json:"updated_at" format:"date-time"`
	UploadedOn time.Time                         `json:"uploaded_on" format:"date-time"`
	JSON       gatewayCertificateGetResponseJSON `json:"-"`
}

func (*GatewayCertificateGetResponse) UnmarshalJSON

func (r *GatewayCertificateGetResponse) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateGetResponseBindingStatus

type GatewayCertificateGetResponseBindingStatus string

The deployment status of the certificate on Cloudflare's edge. Certificates in the 'active' state may be used for Gateway TLS interception.

const (
	GatewayCertificateGetResponseBindingStatusPendingDeployment GatewayCertificateGetResponseBindingStatus = "pending_deployment"
	GatewayCertificateGetResponseBindingStatusActive            GatewayCertificateGetResponseBindingStatus = "active"
	GatewayCertificateGetResponseBindingStatusPendingDeletion   GatewayCertificateGetResponseBindingStatus = "pending_deletion"
	GatewayCertificateGetResponseBindingStatusInactive          GatewayCertificateGetResponseBindingStatus = "inactive"
)

func (GatewayCertificateGetResponseBindingStatus) IsKnown

type GatewayCertificateGetResponseEnvelope

type GatewayCertificateGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayCertificateGetResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayCertificateGetResponse                `json:"result"`
	JSON    gatewayCertificateGetResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayCertificateGetResponseEnvelope) UnmarshalJSON

func (r *GatewayCertificateGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateGetResponseEnvelopeSuccess

type GatewayCertificateGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayCertificateGetResponseEnvelopeSuccessTrue GatewayCertificateGetResponseEnvelopeSuccess = true
)

func (GatewayCertificateGetResponseEnvelopeSuccess) IsKnown

type GatewayCertificateGetResponseType

type GatewayCertificateGetResponseType string

The type of certificate, either BYO-PKI (custom) or Gateway-managed.

const (
	GatewayCertificateGetResponseTypeCustom         GatewayCertificateGetResponseType = "custom"
	GatewayCertificateGetResponseTypeGatewayManaged GatewayCertificateGetResponseType = "gateway_managed"
)

func (GatewayCertificateGetResponseType) IsKnown

type GatewayCertificateListResponse

type GatewayCertificateListResponse struct {
	// Certificate UUID tag.
	ID string `json:"id"`
	// The deployment status of the certificate on Cloudflare's edge. Certificates in
	// the 'active' state may be used for Gateway TLS interception.
	BindingStatus GatewayCertificateListResponseBindingStatus `json:"binding_status"`
	CreatedAt     time.Time                                   `json:"created_at" format:"date-time"`
	// Use this certificate for Gateway TLS interception
	Enabled   bool      `json:"enabled"`
	ExpiresOn time.Time `json:"expires_on" format:"date-time"`
	// The type of certificate, either BYO-PKI (custom) or Gateway-managed.
	Type       GatewayCertificateListResponseType `json:"type"`
	UpdatedAt  time.Time                          `json:"updated_at" format:"date-time"`
	UploadedOn time.Time                          `json:"uploaded_on" format:"date-time"`
	JSON       gatewayCertificateListResponseJSON `json:"-"`
}

func (*GatewayCertificateListResponse) UnmarshalJSON

func (r *GatewayCertificateListResponse) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateListResponseBindingStatus

type GatewayCertificateListResponseBindingStatus string

The deployment status of the certificate on Cloudflare's edge. Certificates in the 'active' state may be used for Gateway TLS interception.

const (
	GatewayCertificateListResponseBindingStatusPendingDeployment GatewayCertificateListResponseBindingStatus = "pending_deployment"
	GatewayCertificateListResponseBindingStatusActive            GatewayCertificateListResponseBindingStatus = "active"
	GatewayCertificateListResponseBindingStatusPendingDeletion   GatewayCertificateListResponseBindingStatus = "pending_deletion"
	GatewayCertificateListResponseBindingStatusInactive          GatewayCertificateListResponseBindingStatus = "inactive"
)

func (GatewayCertificateListResponseBindingStatus) IsKnown

type GatewayCertificateListResponseType

type GatewayCertificateListResponseType string

The type of certificate, either BYO-PKI (custom) or Gateway-managed.

const (
	GatewayCertificateListResponseTypeCustom         GatewayCertificateListResponseType = "custom"
	GatewayCertificateListResponseTypeGatewayManaged GatewayCertificateListResponseType = "gateway_managed"
)

func (GatewayCertificateListResponseType) IsKnown

type GatewayCertificateNewParams

type GatewayCertificateNewParams struct {
	// Number of days the generated certificate will be valid, minimum 1 day and
	// maximum 30 years. Defaults to 5 years.
	ValidityPeriodDays param.Field[int64] `json:"validity_period_days"`
}

func (GatewayCertificateNewParams) MarshalJSON

func (r GatewayCertificateNewParams) MarshalJSON() (data []byte, err error)

type GatewayCertificateNewResponse

type GatewayCertificateNewResponse struct {
	// Certificate UUID tag.
	ID string `json:"id"`
	// The deployment status of the certificate on Cloudflare's edge. Certificates in
	// the 'active' state may be used for Gateway TLS interception.
	BindingStatus GatewayCertificateNewResponseBindingStatus `json:"binding_status"`
	CreatedAt     time.Time                                  `json:"created_at" format:"date-time"`
	// Use this certificate for Gateway TLS interception
	Enabled   bool      `json:"enabled"`
	ExpiresOn time.Time `json:"expires_on" format:"date-time"`
	// The type of certificate, either BYO-PKI (custom) or Gateway-managed.
	Type       GatewayCertificateNewResponseType `json:"type"`
	UpdatedAt  time.Time                         `json:"updated_at" format:"date-time"`
	UploadedOn time.Time                         `json:"uploaded_on" format:"date-time"`
	JSON       gatewayCertificateNewResponseJSON `json:"-"`
}

func (*GatewayCertificateNewResponse) UnmarshalJSON

func (r *GatewayCertificateNewResponse) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateNewResponseBindingStatus

type GatewayCertificateNewResponseBindingStatus string

The deployment status of the certificate on Cloudflare's edge. Certificates in the 'active' state may be used for Gateway TLS interception.

const (
	GatewayCertificateNewResponseBindingStatusPendingDeployment GatewayCertificateNewResponseBindingStatus = "pending_deployment"
	GatewayCertificateNewResponseBindingStatusActive            GatewayCertificateNewResponseBindingStatus = "active"
	GatewayCertificateNewResponseBindingStatusPendingDeletion   GatewayCertificateNewResponseBindingStatus = "pending_deletion"
	GatewayCertificateNewResponseBindingStatusInactive          GatewayCertificateNewResponseBindingStatus = "inactive"
)

func (GatewayCertificateNewResponseBindingStatus) IsKnown

type GatewayCertificateNewResponseEnvelope

type GatewayCertificateNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayCertificateNewResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayCertificateNewResponse                `json:"result"`
	JSON    gatewayCertificateNewResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayCertificateNewResponseEnvelope) UnmarshalJSON

func (r *GatewayCertificateNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayCertificateNewResponseEnvelopeSuccess

type GatewayCertificateNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayCertificateNewResponseEnvelopeSuccessTrue GatewayCertificateNewResponseEnvelopeSuccess = true
)

func (GatewayCertificateNewResponseEnvelopeSuccess) IsKnown

type GatewayCertificateNewResponseType

type GatewayCertificateNewResponseType string

The type of certificate, either BYO-PKI (custom) or Gateway-managed.

const (
	GatewayCertificateNewResponseTypeCustom         GatewayCertificateNewResponseType = "custom"
	GatewayCertificateNewResponseTypeGatewayManaged GatewayCertificateNewResponseType = "gateway_managed"
)

func (GatewayCertificateNewResponseType) IsKnown

type GatewayCertificateService

type GatewayCertificateService struct {
	Options []option.RequestOption
}

GatewayCertificateService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayCertificateService method instead.

func NewGatewayCertificateService

func NewGatewayCertificateService(opts ...option.RequestOption) (r *GatewayCertificateService)

NewGatewayCertificateService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayCertificateService) Activate

Binds a single Zero Trust certificate to the edge.

func (*GatewayCertificateService) Deactivate

Unbinds a single Zero Trust certificate from the edge

func (*GatewayCertificateService) Delete

func (r *GatewayCertificateService) Delete(ctx context.Context, accountID string, certificateID string, opts ...option.RequestOption) (res *GatewayCertificateDeleteResponse, err error)

Deletes a gateway-managed Zero Trust certificate. A certificate must be deactivated from the edge (inactive) before it is deleted.

func (*GatewayCertificateService) Get

func (r *GatewayCertificateService) Get(ctx context.Context, accountID string, certificateID string, opts ...option.RequestOption) (res *GatewayCertificateGetResponse, err error)

Fetches a single Zero Trust certificate.

func (*GatewayCertificateService) List

Fetches all Zero Trust certificates for an account.

func (*GatewayCertificateService) ListAutoPaging

Fetches all Zero Trust certificates for an account.

func (*GatewayCertificateService) New

Creates a new Zero Trust certificate.

type GatewayConfigurationEditParams

type GatewayConfigurationEditParams struct {
	// account settings.
	Settings param.Field[GatewayConfigurationSettingsParam] `json:"settings"`
}

func (GatewayConfigurationEditParams) MarshalJSON

func (r GatewayConfigurationEditParams) MarshalJSON() (data []byte, err error)

type GatewayConfigurationEditResponse

type GatewayConfigurationEditResponse struct {
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// account settings.
	Settings  GatewayConfigurationSettings         `json:"settings"`
	UpdatedAt time.Time                            `json:"updated_at" format:"date-time"`
	JSON      gatewayConfigurationEditResponseJSON `json:"-"`
}

account settings.

func (*GatewayConfigurationEditResponse) UnmarshalJSON

func (r *GatewayConfigurationEditResponse) UnmarshalJSON(data []byte) (err error)

type GatewayConfigurationEditResponseEnvelope

type GatewayConfigurationEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayConfigurationEditResponseEnvelopeSuccess `json:"success,required"`
	// account settings.
	Result GatewayConfigurationEditResponse             `json:"result"`
	JSON   gatewayConfigurationEditResponseEnvelopeJSON `json:"-"`
}

func (*GatewayConfigurationEditResponseEnvelope) UnmarshalJSON

func (r *GatewayConfigurationEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayConfigurationEditResponseEnvelopeSuccess

type GatewayConfigurationEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayConfigurationEditResponseEnvelopeSuccessTrue GatewayConfigurationEditResponseEnvelopeSuccess = true
)

func (GatewayConfigurationEditResponseEnvelopeSuccess) IsKnown

type GatewayConfigurationGetResponse

type GatewayConfigurationGetResponse struct {
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// account settings.
	Settings  GatewayConfigurationSettings        `json:"settings"`
	UpdatedAt time.Time                           `json:"updated_at" format:"date-time"`
	JSON      gatewayConfigurationGetResponseJSON `json:"-"`
}

account settings.

func (*GatewayConfigurationGetResponse) UnmarshalJSON

func (r *GatewayConfigurationGetResponse) UnmarshalJSON(data []byte) (err error)

type GatewayConfigurationGetResponseEnvelope

type GatewayConfigurationGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayConfigurationGetResponseEnvelopeSuccess `json:"success,required"`
	// account settings.
	Result GatewayConfigurationGetResponse             `json:"result"`
	JSON   gatewayConfigurationGetResponseEnvelopeJSON `json:"-"`
}

func (*GatewayConfigurationGetResponseEnvelope) UnmarshalJSON

func (r *GatewayConfigurationGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayConfigurationGetResponseEnvelopeSuccess

type GatewayConfigurationGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayConfigurationGetResponseEnvelopeSuccessTrue GatewayConfigurationGetResponseEnvelopeSuccess = true
)

func (GatewayConfigurationGetResponseEnvelopeSuccess) IsKnown

type GatewayConfigurationService

type GatewayConfigurationService struct {
	Options []option.RequestOption
}

GatewayConfigurationService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayConfigurationService method instead.

func NewGatewayConfigurationService

func NewGatewayConfigurationService(opts ...option.RequestOption) (r *GatewayConfigurationService)

NewGatewayConfigurationService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayConfigurationService) Edit

Patches the current Zero Trust account configuration. This endpoint can update a single subcollection of settings such as `antivirus`, `tls_decrypt`, `activity_log`, `block_page`, `browser_isolation`, `fips`, `body_scanning`, or `certificate`, without updating the entire configuration object. Returns an error if any collection of settings is not properly configured.

func (*GatewayConfigurationService) Get

Fetches the current Zero Trust account configuration.

func (*GatewayConfigurationService) Update

Updates the current Zero Trust account configuration.

type GatewayConfigurationSettings

type GatewayConfigurationSettings struct {
	// Activity log settings.
	ActivityLog ActivityLogSettings `json:"activity_log"`
	// Anti-virus settings.
	Antivirus AntiVirusSettings `json:"antivirus"`
	// Block page layout settings.
	BlockPage BlockPageSettings `json:"block_page"`
	// DLP body scanning settings.
	BodyScanning BodyScanningSettings `json:"body_scanning"`
	// Browser isolation settings.
	BrowserIsolation BrowserIsolationSettings `json:"browser_isolation"`
	// Certificate settings for Gateway TLS interception. If not specified, the
	// Cloudflare Root CA will be used.
	Certificate GatewayConfigurationSettingsCertificate `json:"certificate"`
	// Custom certificate settings for BYO-PKI. (deprecated and replaced by
	// `certificate`)
	CustomCertificate CustomCertificateSettings `json:"custom_certificate"`
	// Extended e-mail matching settings.
	ExtendedEmailMatching ExtendedEmailMatching `json:"extended_email_matching"`
	// FIPS settings.
	Fips FipsSettings `json:"fips"`
	// Protocol Detection settings.
	ProtocolDetection ProtocolDetection `json:"protocol_detection"`
	// TLS interception settings.
	TLSDecrypt TLSSettings                      `json:"tls_decrypt"`
	JSON       gatewayConfigurationSettingsJSON `json:"-"`
}

account settings.

func (*GatewayConfigurationSettings) UnmarshalJSON

func (r *GatewayConfigurationSettings) UnmarshalJSON(data []byte) (err error)

type GatewayConfigurationSettingsCertificate

type GatewayConfigurationSettingsCertificate struct {
	// UUID of certificate to be used for interception. Certificate must be active on
	// the edge.
	ID   string                                      `json:"id,required"`
	JSON gatewayConfigurationSettingsCertificateJSON `json:"-"`
}

Certificate settings for Gateway TLS interception. If not specified, the Cloudflare Root CA will be used.

func (*GatewayConfigurationSettingsCertificate) UnmarshalJSON

func (r *GatewayConfigurationSettingsCertificate) UnmarshalJSON(data []byte) (err error)

type GatewayConfigurationSettingsCertificateParam

type GatewayConfigurationSettingsCertificateParam struct {
	// UUID of certificate to be used for interception. Certificate must be active on
	// the edge.
	ID param.Field[string] `json:"id,required"`
}

Certificate settings for Gateway TLS interception. If not specified, the Cloudflare Root CA will be used.

func (GatewayConfigurationSettingsCertificateParam) MarshalJSON

func (r GatewayConfigurationSettingsCertificateParam) MarshalJSON() (data []byte, err error)

type GatewayConfigurationSettingsParam

type GatewayConfigurationSettingsParam struct {
	// Activity log settings.
	ActivityLog param.Field[ActivityLogSettingsParam] `json:"activity_log"`
	// Anti-virus settings.
	Antivirus param.Field[AntiVirusSettingsParam] `json:"antivirus"`
	// Block page layout settings.
	BlockPage param.Field[BlockPageSettingsParam] `json:"block_page"`
	// DLP body scanning settings.
	BodyScanning param.Field[BodyScanningSettingsParam] `json:"body_scanning"`
	// Browser isolation settings.
	BrowserIsolation param.Field[BrowserIsolationSettingsParam] `json:"browser_isolation"`
	// Certificate settings for Gateway TLS interception. If not specified, the
	// Cloudflare Root CA will be used.
	Certificate param.Field[GatewayConfigurationSettingsCertificateParam] `json:"certificate"`
	// Custom certificate settings for BYO-PKI. (deprecated and replaced by
	// `certificate`)
	CustomCertificate param.Field[CustomCertificateSettingsParam] `json:"custom_certificate"`
	// Extended e-mail matching settings.
	ExtendedEmailMatching param.Field[ExtendedEmailMatchingParam] `json:"extended_email_matching"`
	// FIPS settings.
	Fips param.Field[FipsSettingsParam] `json:"fips"`
	// Protocol Detection settings.
	ProtocolDetection param.Field[ProtocolDetectionParam] `json:"protocol_detection"`
	// TLS interception settings.
	TLSDecrypt param.Field[TLSSettingsParam] `json:"tls_decrypt"`
}

account settings.

func (GatewayConfigurationSettingsParam) MarshalJSON

func (r GatewayConfigurationSettingsParam) MarshalJSON() (data []byte, err error)

type GatewayConfigurationUpdateParams

type GatewayConfigurationUpdateParams struct {
	// account settings.
	Settings param.Field[GatewayConfigurationSettingsParam] `json:"settings"`
}

func (GatewayConfigurationUpdateParams) MarshalJSON

func (r GatewayConfigurationUpdateParams) MarshalJSON() (data []byte, err error)

type GatewayConfigurationUpdateResponse

type GatewayConfigurationUpdateResponse struct {
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// account settings.
	Settings  GatewayConfigurationSettings           `json:"settings"`
	UpdatedAt time.Time                              `json:"updated_at" format:"date-time"`
	JSON      gatewayConfigurationUpdateResponseJSON `json:"-"`
}

account settings.

func (*GatewayConfigurationUpdateResponse) UnmarshalJSON

func (r *GatewayConfigurationUpdateResponse) UnmarshalJSON(data []byte) (err error)

type GatewayConfigurationUpdateResponseEnvelope

type GatewayConfigurationUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayConfigurationUpdateResponseEnvelopeSuccess `json:"success,required"`
	// account settings.
	Result GatewayConfigurationUpdateResponse             `json:"result"`
	JSON   gatewayConfigurationUpdateResponseEnvelopeJSON `json:"-"`
}

func (*GatewayConfigurationUpdateResponseEnvelope) UnmarshalJSON

func (r *GatewayConfigurationUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayConfigurationUpdateResponseEnvelopeSuccess

type GatewayConfigurationUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayConfigurationUpdateResponseEnvelopeSuccessTrue GatewayConfigurationUpdateResponseEnvelopeSuccess = true
)

func (GatewayConfigurationUpdateResponseEnvelopeSuccess) IsKnown

type GatewayFilter

type GatewayFilter string

The protocol or layer to use.

const (
	GatewayFilterHTTP   GatewayFilter = "http"
	GatewayFilterDNS    GatewayFilter = "dns"
	GatewayFilterL4     GatewayFilter = "l4"
	GatewayFilterEgress GatewayFilter = "egress"
)

func (GatewayFilter) IsKnown

func (r GatewayFilter) IsKnown() bool

type GatewayIPs

type GatewayIPs = string

type GatewayIPsParam

type GatewayIPsParam = string

type GatewayItem

type GatewayItem struct {
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The description of the list item, if present
	Description string `json:"description"`
	// The value of the item in a list.
	Value string          `json:"value"`
	JSON  gatewayItemJSON `json:"-"`
}

func (*GatewayItem) UnmarshalJSON

func (r *GatewayItem) UnmarshalJSON(data []byte) (err error)

type GatewayItemParam

type GatewayItemParam struct {
	// The description of the list item, if present
	Description param.Field[string] `json:"description"`
	// The value of the item in a list.
	Value param.Field[string] `json:"value"`
}

func (GatewayItemParam) MarshalJSON

func (r GatewayItemParam) MarshalJSON() (data []byte, err error)

type GatewayList

type GatewayList struct {
	// API Resource UUID tag.
	ID string `json:"id"`
	// The number of items in the list.
	Count     float64   `json:"count"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The description of the list.
	Description string `json:"description"`
	// The name of the list.
	Name string `json:"name"`
	// The type of list.
	Type      GatewayListType `json:"type"`
	UpdatedAt time.Time       `json:"updated_at" format:"date-time"`
	JSON      gatewayListJSON `json:"-"`
}

func (*GatewayList) UnmarshalJSON

func (r *GatewayList) UnmarshalJSON(data []byte) (err error)

type GatewayListDeleteResponseEnvelope

type GatewayListDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayListDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayListDeleteResponseUnion           `json:"result"`
	JSON    gatewayListDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayListDeleteResponseEnvelope) UnmarshalJSON

func (r *GatewayListDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayListDeleteResponseEnvelopeSuccess

type GatewayListDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayListDeleteResponseEnvelopeSuccessTrue GatewayListDeleteResponseEnvelopeSuccess = true
)

func (GatewayListDeleteResponseEnvelopeSuccess) IsKnown

type GatewayListDeleteResponseUnion

type GatewayListDeleteResponseUnion interface {
	ImplementsZeroTrustGatewayListDeleteResponseUnion()
}

Union satisfied by zero_trust.GatewayListDeleteResponseUnknown or shared.UnionString.

type GatewayListEditParams

type GatewayListEditParams struct {
	// The items in the list.
	Append param.Field[[]GatewayItemParam] `json:"append"`
	// A list of the item values you want to remove.
	Remove param.Field[[]string] `json:"remove"`
}

func (GatewayListEditParams) MarshalJSON

func (r GatewayListEditParams) MarshalJSON() (data []byte, err error)

type GatewayListEditResponseEnvelope

type GatewayListEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayListEditResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayList                            `json:"result"`
	JSON    gatewayListEditResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayListEditResponseEnvelope) UnmarshalJSON

func (r *GatewayListEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayListEditResponseEnvelopeSuccess

type GatewayListEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayListEditResponseEnvelopeSuccessTrue GatewayListEditResponseEnvelopeSuccess = true
)

func (GatewayListEditResponseEnvelopeSuccess) IsKnown

type GatewayListGetResponseEnvelope

type GatewayListGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayListGetResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayList                           `json:"result"`
	JSON    gatewayListGetResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayListGetResponseEnvelope) UnmarshalJSON

func (r *GatewayListGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayListGetResponseEnvelopeSuccess

type GatewayListGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayListGetResponseEnvelopeSuccessTrue GatewayListGetResponseEnvelopeSuccess = true
)

func (GatewayListGetResponseEnvelopeSuccess) IsKnown

type GatewayListItemService

type GatewayListItemService struct {
	Options []option.RequestOption
}

GatewayListItemService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayListItemService method instead.

func NewGatewayListItemService

func NewGatewayListItemService(opts ...option.RequestOption) (r *GatewayListItemService)

NewGatewayListItemService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayListItemService) List

func (r *GatewayListItemService) List(ctx context.Context, accountID string, listID string, opts ...option.RequestOption) (res *pagination.SinglePage[[]GatewayItem], err error)

Fetches all items in a single Zero Trust list.

func (*GatewayListItemService) ListAutoPaging

func (r *GatewayListItemService) ListAutoPaging(ctx context.Context, accountID string, listID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[[]GatewayItem]

Fetches all items in a single Zero Trust list.

type GatewayListListParams

type GatewayListListParams struct {
	// The type of list.
	Type param.Field[GatewayListListParamsType] `query:"type"`
}

func (GatewayListListParams) URLQuery

func (r GatewayListListParams) URLQuery() (v url.Values)

URLQuery serializes GatewayListListParams's query parameters as `url.Values`.

type GatewayListListParamsType

type GatewayListListParamsType string

The type of list.

const (
	GatewayListListParamsTypeSerial GatewayListListParamsType = "SERIAL"
	GatewayListListParamsTypeURL    GatewayListListParamsType = "URL"
	GatewayListListParamsTypeDomain GatewayListListParamsType = "DOMAIN"
	GatewayListListParamsTypeEmail  GatewayListListParamsType = "EMAIL"
	GatewayListListParamsTypeIP     GatewayListListParamsType = "IP"
)

func (GatewayListListParamsType) IsKnown

func (r GatewayListListParamsType) IsKnown() bool

type GatewayListNewParams

type GatewayListNewParams struct {
	// The name of the list.
	Name param.Field[string] `json:"name,required"`
	// The type of list.
	Type param.Field[GatewayListNewParamsType] `json:"type,required"`
	// The description of the list.
	Description param.Field[string] `json:"description"`
	// The items in the list.
	Items param.Field[[]GatewayItemParam] `json:"items"`
}

func (GatewayListNewParams) MarshalJSON

func (r GatewayListNewParams) MarshalJSON() (data []byte, err error)

type GatewayListNewParamsType

type GatewayListNewParamsType string

The type of list.

const (
	GatewayListNewParamsTypeSerial GatewayListNewParamsType = "SERIAL"
	GatewayListNewParamsTypeURL    GatewayListNewParamsType = "URL"
	GatewayListNewParamsTypeDomain GatewayListNewParamsType = "DOMAIN"
	GatewayListNewParamsTypeEmail  GatewayListNewParamsType = "EMAIL"
	GatewayListNewParamsTypeIP     GatewayListNewParamsType = "IP"
)

func (GatewayListNewParamsType) IsKnown

func (r GatewayListNewParamsType) IsKnown() bool

type GatewayListNewResponse

type GatewayListNewResponse struct {
	// API Resource UUID tag.
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The description of the list.
	Description string `json:"description"`
	// The items in the list.
	Items []GatewayItem `json:"items"`
	// The name of the list.
	Name string `json:"name"`
	// The type of list.
	Type      GatewayListNewResponseType `json:"type"`
	UpdatedAt time.Time                  `json:"updated_at" format:"date-time"`
	JSON      gatewayListNewResponseJSON `json:"-"`
}

func (*GatewayListNewResponse) UnmarshalJSON

func (r *GatewayListNewResponse) UnmarshalJSON(data []byte) (err error)

type GatewayListNewResponseEnvelope

type GatewayListNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayListNewResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayListNewResponse                `json:"result"`
	JSON    gatewayListNewResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayListNewResponseEnvelope) UnmarshalJSON

func (r *GatewayListNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayListNewResponseEnvelopeSuccess

type GatewayListNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayListNewResponseEnvelopeSuccessTrue GatewayListNewResponseEnvelopeSuccess = true
)

func (GatewayListNewResponseEnvelopeSuccess) IsKnown

type GatewayListNewResponseType

type GatewayListNewResponseType string

The type of list.

const (
	GatewayListNewResponseTypeSerial GatewayListNewResponseType = "SERIAL"
	GatewayListNewResponseTypeURL    GatewayListNewResponseType = "URL"
	GatewayListNewResponseTypeDomain GatewayListNewResponseType = "DOMAIN"
	GatewayListNewResponseTypeEmail  GatewayListNewResponseType = "EMAIL"
	GatewayListNewResponseTypeIP     GatewayListNewResponseType = "IP"
)

func (GatewayListNewResponseType) IsKnown

func (r GatewayListNewResponseType) IsKnown() bool

type GatewayListResponse

type GatewayListResponse struct {
	// Cloudflare account ID.
	ID string `json:"id"`
	// Gateway internal ID.
	GatewayTag string `json:"gateway_tag"`
	// The name of the provider. Usually Cloudflare.
	ProviderName string                  `json:"provider_name"`
	JSON         gatewayListResponseJSON `json:"-"`
}

func (*GatewayListResponse) UnmarshalJSON

func (r *GatewayListResponse) UnmarshalJSON(data []byte) (err error)

type GatewayListResponseEnvelope

type GatewayListResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayListResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayListResponse                `json:"result"`
	JSON    gatewayListResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayListResponseEnvelope) UnmarshalJSON

func (r *GatewayListResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayListResponseEnvelopeSuccess

type GatewayListResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayListResponseEnvelopeSuccessTrue GatewayListResponseEnvelopeSuccess = true
)

func (GatewayListResponseEnvelopeSuccess) IsKnown

type GatewayListService

type GatewayListService struct {
	Options []option.RequestOption
	Items   *GatewayListItemService
}

GatewayListService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayListService method instead.

func NewGatewayListService

func NewGatewayListService(opts ...option.RequestOption) (r *GatewayListService)

NewGatewayListService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayListService) Delete

func (r *GatewayListService) Delete(ctx context.Context, accountID string, listID string, opts ...option.RequestOption) (res *GatewayListDeleteResponseUnion, err error)

Deletes a Zero Trust list.

func (*GatewayListService) Edit

func (r *GatewayListService) Edit(ctx context.Context, accountID string, listID string, body GatewayListEditParams, opts ...option.RequestOption) (res *GatewayList, err error)

Appends or removes an item from a configured Zero Trust list.

func (*GatewayListService) Get

func (r *GatewayListService) Get(ctx context.Context, accountID string, listID string, opts ...option.RequestOption) (res *GatewayList, err error)

Fetches a single Zero Trust list.

func (*GatewayListService) List

Fetches all Zero Trust lists for an account.

func (*GatewayListService) ListAutoPaging

Fetches all Zero Trust lists for an account.

func (*GatewayListService) New

Creates a new Zero Trust list.

func (*GatewayListService) Update

func (r *GatewayListService) Update(ctx context.Context, accountID string, listID string, body GatewayListUpdateParams, opts ...option.RequestOption) (res *GatewayList, err error)

Updates a configured Zero Trust list.

type GatewayListType

type GatewayListType string

The type of list.

const (
	GatewayListTypeSerial GatewayListType = "SERIAL"
	GatewayListTypeURL    GatewayListType = "URL"
	GatewayListTypeDomain GatewayListType = "DOMAIN"
	GatewayListTypeEmail  GatewayListType = "EMAIL"
	GatewayListTypeIP     GatewayListType = "IP"
)

func (GatewayListType) IsKnown

func (r GatewayListType) IsKnown() bool

type GatewayListUpdateParams

type GatewayListUpdateParams struct {
	// The name of the list.
	Name param.Field[string] `json:"name,required"`
	// The description of the list.
	Description param.Field[string] `json:"description"`
}

func (GatewayListUpdateParams) MarshalJSON

func (r GatewayListUpdateParams) MarshalJSON() (data []byte, err error)

type GatewayListUpdateResponseEnvelope

type GatewayListUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayListUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayList                              `json:"result"`
	JSON    gatewayListUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayListUpdateResponseEnvelope) UnmarshalJSON

func (r *GatewayListUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayListUpdateResponseEnvelopeSuccess

type GatewayListUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayListUpdateResponseEnvelopeSuccessTrue GatewayListUpdateResponseEnvelopeSuccess = true
)

func (GatewayListUpdateResponseEnvelopeSuccess) IsKnown

type GatewayLocationDeleteResponseEnvelope

type GatewayLocationDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayLocationDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayLocationDeleteResponseUnion           `json:"result"`
	JSON    gatewayLocationDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayLocationDeleteResponseEnvelope) UnmarshalJSON

func (r *GatewayLocationDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayLocationDeleteResponseEnvelopeSuccess

type GatewayLocationDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayLocationDeleteResponseEnvelopeSuccessTrue GatewayLocationDeleteResponseEnvelopeSuccess = true
)

func (GatewayLocationDeleteResponseEnvelopeSuccess) IsKnown

type GatewayLocationDeleteResponseUnion

type GatewayLocationDeleteResponseUnion interface {
	ImplementsZeroTrustGatewayLocationDeleteResponseUnion()
}

Union satisfied by zero_trust.GatewayLocationDeleteResponseUnknown or shared.UnionString.

type GatewayLocationGetResponseEnvelope

type GatewayLocationGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayLocationGetResponseEnvelopeSuccess `json:"success,required"`
	Result  Location                                  `json:"result"`
	JSON    gatewayLocationGetResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayLocationGetResponseEnvelope) UnmarshalJSON

func (r *GatewayLocationGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayLocationGetResponseEnvelopeSuccess

type GatewayLocationGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayLocationGetResponseEnvelopeSuccessTrue GatewayLocationGetResponseEnvelopeSuccess = true
)

func (GatewayLocationGetResponseEnvelopeSuccess) IsKnown

type GatewayLocationNewParams

type GatewayLocationNewParams struct {
	// The name of the location.
	Name param.Field[string] `json:"name,required"`
	// True if the location is the default location.
	ClientDefault param.Field[bool] `json:"client_default"`
	// The identifier of the pair of IPv4 addresses assigned to this location. When
	// creating a location, if this field is absent or set with null, the pair of
	// shared IPv4 addresses (0e4a32c6-6fb8-4858-9296-98f51631e8e6) is auto-assigned.
	// When updating a location, if the field is absent or set with null, the
	// pre-assigned pair remains unchanged.
	DNSDestinationIPsID param.Field[string] `json:"dns_destination_ips_id"`
	// True if the location needs to resolve EDNS queries.
	ECSSupport param.Field[bool] `json:"ecs_support"`
	// The destination endpoints configured for this location. When updating a
	// location, if this field is absent or set with null, the endpoints configuration
	// remains unchanged.
	Endpoints param.Field[EndpointParam] `json:"endpoints"`
	// A list of network ranges that requests from this location would originate from.
	// A non-empty list is only effective if the ipv4 endpoint is enabled for this
	// location.
	Networks param.Field[[]GatewayLocationNewParamsNetwork] `json:"networks"`
}

func (GatewayLocationNewParams) MarshalJSON

func (r GatewayLocationNewParams) MarshalJSON() (data []byte, err error)

type GatewayLocationNewParamsNetwork

type GatewayLocationNewParamsNetwork struct {
	// The IPv4 address or IPv4 CIDR. IPv4 CIDRs are limited to a maximum of /24.
	Network param.Field[string] `json:"network,required"`
}

func (GatewayLocationNewParamsNetwork) MarshalJSON

func (r GatewayLocationNewParamsNetwork) MarshalJSON() (data []byte, err error)

type GatewayLocationNewResponseEnvelope

type GatewayLocationNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayLocationNewResponseEnvelopeSuccess `json:"success,required"`
	Result  Location                                  `json:"result"`
	JSON    gatewayLocationNewResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayLocationNewResponseEnvelope) UnmarshalJSON

func (r *GatewayLocationNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayLocationNewResponseEnvelopeSuccess

type GatewayLocationNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayLocationNewResponseEnvelopeSuccessTrue GatewayLocationNewResponseEnvelopeSuccess = true
)

func (GatewayLocationNewResponseEnvelopeSuccess) IsKnown

type GatewayLocationService

type GatewayLocationService struct {
	Options []option.RequestOption
}

GatewayLocationService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayLocationService method instead.

func NewGatewayLocationService

func NewGatewayLocationService(opts ...option.RequestOption) (r *GatewayLocationService)

NewGatewayLocationService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayLocationService) Delete

func (r *GatewayLocationService) Delete(ctx context.Context, accountID string, locationID string, opts ...option.RequestOption) (res *GatewayLocationDeleteResponseUnion, err error)

Deletes a configured Zero Trust Gateway location.

func (*GatewayLocationService) Get

func (r *GatewayLocationService) Get(ctx context.Context, accountID string, locationID string, opts ...option.RequestOption) (res *Location, err error)

Fetches a single Zero Trust Gateway location.

func (*GatewayLocationService) List

func (r *GatewayLocationService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[Location], err error)

Fetches Zero Trust Gateway locations for an account.

func (*GatewayLocationService) ListAutoPaging

Fetches Zero Trust Gateway locations for an account.

func (*GatewayLocationService) New

func (r *GatewayLocationService) New(ctx context.Context, accountID string, body GatewayLocationNewParams, opts ...option.RequestOption) (res *Location, err error)

Creates a new Zero Trust Gateway location.

func (*GatewayLocationService) Update

func (r *GatewayLocationService) Update(ctx context.Context, accountID string, locationID string, body GatewayLocationUpdateParams, opts ...option.RequestOption) (res *Location, err error)

Updates a configured Zero Trust Gateway location.

type GatewayLocationUpdateParams

type GatewayLocationUpdateParams struct {
	// The name of the location.
	Name param.Field[string] `json:"name,required"`
	// True if the location is the default location.
	ClientDefault param.Field[bool] `json:"client_default"`
	// The identifier of the pair of IPv4 addresses assigned to this location. When
	// creating a location, if this field is absent or set with null, the pair of
	// shared IPv4 addresses (0e4a32c6-6fb8-4858-9296-98f51631e8e6) is auto-assigned.
	// When updating a location, if the field is absent or set with null, the
	// pre-assigned pair remains unchanged.
	DNSDestinationIPsID param.Field[string] `json:"dns_destination_ips_id"`
	// True if the location needs to resolve EDNS queries.
	ECSSupport param.Field[bool] `json:"ecs_support"`
	// The destination endpoints configured for this location. When updating a
	// location, if this field is absent or set with null, the endpoints configuration
	// remains unchanged.
	Endpoints param.Field[EndpointParam] `json:"endpoints"`
	// A list of network ranges that requests from this location would originate from.
	// A non-empty list is only effective if the ipv4 endpoint is enabled for this
	// location.
	Networks param.Field[[]GatewayLocationUpdateParamsNetwork] `json:"networks"`
}

func (GatewayLocationUpdateParams) MarshalJSON

func (r GatewayLocationUpdateParams) MarshalJSON() (data []byte, err error)

type GatewayLocationUpdateParamsNetwork

type GatewayLocationUpdateParamsNetwork struct {
	// The IPv4 address or IPv4 CIDR. IPv4 CIDRs are limited to a maximum of /24.
	Network param.Field[string] `json:"network,required"`
}

func (GatewayLocationUpdateParamsNetwork) MarshalJSON

func (r GatewayLocationUpdateParamsNetwork) MarshalJSON() (data []byte, err error)

type GatewayLocationUpdateResponseEnvelope

type GatewayLocationUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayLocationUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  Location                                     `json:"result"`
	JSON    gatewayLocationUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayLocationUpdateResponseEnvelope) UnmarshalJSON

func (r *GatewayLocationUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayLocationUpdateResponseEnvelopeSuccess

type GatewayLocationUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayLocationUpdateResponseEnvelopeSuccessTrue GatewayLocationUpdateResponseEnvelopeSuccess = true
)

func (GatewayLocationUpdateResponseEnvelopeSuccess) IsKnown

type GatewayLoggingGetResponseEnvelope

type GatewayLoggingGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayLoggingGetResponseEnvelopeSuccess `json:"success,required"`
	Result  LoggingSetting                           `json:"result"`
	JSON    gatewayLoggingGetResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayLoggingGetResponseEnvelope) UnmarshalJSON

func (r *GatewayLoggingGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayLoggingGetResponseEnvelopeSuccess

type GatewayLoggingGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayLoggingGetResponseEnvelopeSuccessTrue GatewayLoggingGetResponseEnvelopeSuccess = true
)

func (GatewayLoggingGetResponseEnvelopeSuccess) IsKnown

type GatewayLoggingService

type GatewayLoggingService struct {
	Options []option.RequestOption
}

GatewayLoggingService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayLoggingService method instead.

func NewGatewayLoggingService

func NewGatewayLoggingService(opts ...option.RequestOption) (r *GatewayLoggingService)

NewGatewayLoggingService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayLoggingService) Get

func (r *GatewayLoggingService) Get(ctx context.Context, accountID string, opts ...option.RequestOption) (res *LoggingSetting, err error)

Fetches the current logging settings for Zero Trust account.

func (*GatewayLoggingService) Update

func (r *GatewayLoggingService) Update(ctx context.Context, accountID string, body GatewayLoggingUpdateParams, opts ...option.RequestOption) (res *LoggingSetting, err error)

Updates logging settings for the current Zero Trust account.

type GatewayLoggingUpdateParams

type GatewayLoggingUpdateParams struct {
	LoggingSetting LoggingSettingParam `json:"logging_setting,required"`
}

func (GatewayLoggingUpdateParams) MarshalJSON

func (r GatewayLoggingUpdateParams) MarshalJSON() (data []byte, err error)

type GatewayLoggingUpdateResponseEnvelope

type GatewayLoggingUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayLoggingUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  LoggingSetting                              `json:"result"`
	JSON    gatewayLoggingUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayLoggingUpdateResponseEnvelope) UnmarshalJSON

func (r *GatewayLoggingUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayLoggingUpdateResponseEnvelopeSuccess

type GatewayLoggingUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayLoggingUpdateResponseEnvelopeSuccessTrue GatewayLoggingUpdateResponseEnvelopeSuccess = true
)

func (GatewayLoggingUpdateResponseEnvelopeSuccess) IsKnown

type GatewayNewResponse

type GatewayNewResponse struct {
	// Cloudflare account ID.
	ID string `json:"id"`
	// Gateway internal ID.
	GatewayTag string `json:"gateway_tag"`
	// The name of the provider. Usually Cloudflare.
	ProviderName string                 `json:"provider_name"`
	JSON         gatewayNewResponseJSON `json:"-"`
}

func (*GatewayNewResponse) UnmarshalJSON

func (r *GatewayNewResponse) UnmarshalJSON(data []byte) (err error)

type GatewayNewResponseEnvelope

type GatewayNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayNewResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayNewResponse                `json:"result"`
	JSON    gatewayNewResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayNewResponseEnvelope) UnmarshalJSON

func (r *GatewayNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayNewResponseEnvelopeSuccess

type GatewayNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayNewResponseEnvelopeSuccessTrue GatewayNewResponseEnvelopeSuccess = true
)

func (GatewayNewResponseEnvelopeSuccess) IsKnown

type GatewayProxyEndpointDeleteResponseEnvelope

type GatewayProxyEndpointDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayProxyEndpointDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayProxyEndpointDeleteResponseUnion           `json:"result"`
	JSON    gatewayProxyEndpointDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayProxyEndpointDeleteResponseEnvelope) UnmarshalJSON

func (r *GatewayProxyEndpointDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayProxyEndpointDeleteResponseEnvelopeSuccess

type GatewayProxyEndpointDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayProxyEndpointDeleteResponseEnvelopeSuccessTrue GatewayProxyEndpointDeleteResponseEnvelopeSuccess = true
)

func (GatewayProxyEndpointDeleteResponseEnvelopeSuccess) IsKnown

type GatewayProxyEndpointDeleteResponseUnion

type GatewayProxyEndpointDeleteResponseUnion interface {
	ImplementsZeroTrustGatewayProxyEndpointDeleteResponseUnion()
}

Union satisfied by zero_trust.GatewayProxyEndpointDeleteResponseUnknown or shared.UnionString.

type GatewayProxyEndpointEditParams

type GatewayProxyEndpointEditParams struct {
	// A list of CIDRs to restrict ingress connections.
	IPs param.Field[[]GatewayIPsParam] `json:"ips"`
	// The name of the proxy endpoint.
	Name param.Field[string] `json:"name"`
}

func (GatewayProxyEndpointEditParams) MarshalJSON

func (r GatewayProxyEndpointEditParams) MarshalJSON() (data []byte, err error)

type GatewayProxyEndpointEditResponseEnvelope

type GatewayProxyEndpointEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayProxyEndpointEditResponseEnvelopeSuccess `json:"success,required"`
	Result  ProxyEndpoint                                   `json:"result"`
	JSON    gatewayProxyEndpointEditResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayProxyEndpointEditResponseEnvelope) UnmarshalJSON

func (r *GatewayProxyEndpointEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayProxyEndpointEditResponseEnvelopeSuccess

type GatewayProxyEndpointEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayProxyEndpointEditResponseEnvelopeSuccessTrue GatewayProxyEndpointEditResponseEnvelopeSuccess = true
)

func (GatewayProxyEndpointEditResponseEnvelopeSuccess) IsKnown

type GatewayProxyEndpointGetResponseEnvelope

type GatewayProxyEndpointGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success    GatewayProxyEndpointGetResponseEnvelopeSuccess    `json:"success,required"`
	Result     []ProxyEndpoint                                   `json:"result,nullable"`
	ResultInfo GatewayProxyEndpointGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       gatewayProxyEndpointGetResponseEnvelopeJSON       `json:"-"`
}

func (*GatewayProxyEndpointGetResponseEnvelope) UnmarshalJSON

func (r *GatewayProxyEndpointGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayProxyEndpointGetResponseEnvelopeResultInfo

type GatewayProxyEndpointGetResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                               `json:"total_count"`
	JSON       gatewayProxyEndpointGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*GatewayProxyEndpointGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *GatewayProxyEndpointGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type GatewayProxyEndpointGetResponseEnvelopeSuccess

type GatewayProxyEndpointGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayProxyEndpointGetResponseEnvelopeSuccessTrue GatewayProxyEndpointGetResponseEnvelopeSuccess = true
)

func (GatewayProxyEndpointGetResponseEnvelopeSuccess) IsKnown

type GatewayProxyEndpointListResponseEnvelope

type GatewayProxyEndpointListResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayProxyEndpointListResponseEnvelopeSuccess `json:"success,required"`
	Result  ProxyEndpoint                                   `json:"result"`
	JSON    gatewayProxyEndpointListResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayProxyEndpointListResponseEnvelope) UnmarshalJSON

func (r *GatewayProxyEndpointListResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayProxyEndpointListResponseEnvelopeSuccess

type GatewayProxyEndpointListResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayProxyEndpointListResponseEnvelopeSuccessTrue GatewayProxyEndpointListResponseEnvelopeSuccess = true
)

func (GatewayProxyEndpointListResponseEnvelopeSuccess) IsKnown

type GatewayProxyEndpointNewParams

type GatewayProxyEndpointNewParams struct {
	// A list of CIDRs to restrict ingress connections.
	IPs param.Field[[]GatewayIPsParam] `json:"ips,required"`
	// The name of the proxy endpoint.
	Name param.Field[string] `json:"name,required"`
}

func (GatewayProxyEndpointNewParams) MarshalJSON

func (r GatewayProxyEndpointNewParams) MarshalJSON() (data []byte, err error)

type GatewayProxyEndpointNewResponseEnvelope

type GatewayProxyEndpointNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayProxyEndpointNewResponseEnvelopeSuccess `json:"success,required"`
	Result  ProxyEndpoint                                  `json:"result"`
	JSON    gatewayProxyEndpointNewResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayProxyEndpointNewResponseEnvelope) UnmarshalJSON

func (r *GatewayProxyEndpointNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayProxyEndpointNewResponseEnvelopeSuccess

type GatewayProxyEndpointNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayProxyEndpointNewResponseEnvelopeSuccessTrue GatewayProxyEndpointNewResponseEnvelopeSuccess = true
)

func (GatewayProxyEndpointNewResponseEnvelopeSuccess) IsKnown

type GatewayProxyEndpointService

type GatewayProxyEndpointService struct {
	Options []option.RequestOption
}

GatewayProxyEndpointService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayProxyEndpointService method instead.

func NewGatewayProxyEndpointService

func NewGatewayProxyEndpointService(opts ...option.RequestOption) (r *GatewayProxyEndpointService)

NewGatewayProxyEndpointService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayProxyEndpointService) Delete

func (r *GatewayProxyEndpointService) Delete(ctx context.Context, accountID string, proxyEndpointID string, opts ...option.RequestOption) (res *GatewayProxyEndpointDeleteResponseUnion, err error)

Deletes a configured Zero Trust Gateway proxy endpoint.

func (*GatewayProxyEndpointService) Edit

func (r *GatewayProxyEndpointService) Edit(ctx context.Context, accountID string, proxyEndpointID string, body GatewayProxyEndpointEditParams, opts ...option.RequestOption) (res *ProxyEndpoint, err error)

Updates a configured Zero Trust Gateway proxy endpoint.

func (*GatewayProxyEndpointService) Get

func (r *GatewayProxyEndpointService) Get(ctx context.Context, accountID string, proxyEndpointID string, opts ...option.RequestOption) (res *[]ProxyEndpoint, err error)

Fetches a single Zero Trust Gateway proxy endpoint.

func (*GatewayProxyEndpointService) List

func (r *GatewayProxyEndpointService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *ProxyEndpoint, err error)

Fetches all Zero Trust Gateway proxy endpoints for an account.

func (*GatewayProxyEndpointService) New

Creates a new Zero Trust Gateway proxy endpoint.

type GatewayRule

type GatewayRule struct {
	// The API resource UUID.
	ID string `json:"id"`
	// The action to preform when the associated traffic, identity, and device posture
	// expressions are either absent or evaluate to `true`.
	Action    GatewayRuleAction `json:"action"`
	CreatedAt time.Time         `json:"created_at" format:"date-time"`
	// Date of deletion, if any.
	DeletedAt time.Time `json:"deleted_at,nullable" format:"date-time"`
	// The description of the rule.
	Description string `json:"description"`
	// The wirefilter expression used for device posture check matching.
	DevicePosture string `json:"device_posture"`
	// True if the rule is enabled.
	Enabled bool `json:"enabled"`
	// The protocol or layer to evaluate the traffic, identity, and device posture
	// expressions.
	Filters []GatewayFilter `json:"filters"`
	// The wirefilter expression used for identity matching.
	Identity string `json:"identity"`
	// The name of the rule.
	Name string `json:"name"`
	// Precedence sets the order of your rules. Lower values indicate higher
	// precedence. At each processing phase, applicable rules are evaluated in
	// ascending order of this value.
	Precedence int64 `json:"precedence"`
	// Additional settings that modify the rule's action.
	RuleSettings RuleSetting `json:"rule_settings"`
	// The schedule for activating DNS policies. This does not apply to HTTP or network
	// policies.
	Schedule Schedule `json:"schedule"`
	// The wirefilter expression used for traffic matching.
	Traffic   string          `json:"traffic"`
	UpdatedAt time.Time       `json:"updated_at" format:"date-time"`
	JSON      gatewayRuleJSON `json:"-"`
}

func (*GatewayRule) UnmarshalJSON

func (r *GatewayRule) UnmarshalJSON(data []byte) (err error)

type GatewayRuleAction

type GatewayRuleAction string

The action to preform when the associated traffic, identity, and device posture expressions are either absent or evaluate to `true`.

const (
	GatewayRuleActionOn           GatewayRuleAction = "on"
	GatewayRuleActionOff          GatewayRuleAction = "off"
	GatewayRuleActionAllow        GatewayRuleAction = "allow"
	GatewayRuleActionBlock        GatewayRuleAction = "block"
	GatewayRuleActionScan         GatewayRuleAction = "scan"
	GatewayRuleActionNoscan       GatewayRuleAction = "noscan"
	GatewayRuleActionSafesearch   GatewayRuleAction = "safesearch"
	GatewayRuleActionYtrestricted GatewayRuleAction = "ytrestricted"
	GatewayRuleActionIsolate      GatewayRuleAction = "isolate"
	GatewayRuleActionNoisolate    GatewayRuleAction = "noisolate"
	GatewayRuleActionOverride     GatewayRuleAction = "override"
	GatewayRuleActionL4Override   GatewayRuleAction = "l4_override"
	GatewayRuleActionEgress       GatewayRuleAction = "egress"
	GatewayRuleActionAuditSSH     GatewayRuleAction = "audit_ssh"
	GatewayRuleActionResolve      GatewayRuleAction = "resolve"
)

func (GatewayRuleAction) IsKnown

func (r GatewayRuleAction) IsKnown() bool

type GatewayRuleDeleteResponseEnvelope

type GatewayRuleDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayRuleDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayRuleDeleteResponseUnion           `json:"result"`
	JSON    gatewayRuleDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayRuleDeleteResponseEnvelope) UnmarshalJSON

func (r *GatewayRuleDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayRuleDeleteResponseEnvelopeSuccess

type GatewayRuleDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayRuleDeleteResponseEnvelopeSuccessTrue GatewayRuleDeleteResponseEnvelopeSuccess = true
)

func (GatewayRuleDeleteResponseEnvelopeSuccess) IsKnown

type GatewayRuleDeleteResponseUnion

type GatewayRuleDeleteResponseUnion interface {
	ImplementsZeroTrustGatewayRuleDeleteResponseUnion()
}

Union satisfied by zero_trust.GatewayRuleDeleteResponseUnknown or shared.UnionString.

type GatewayRuleGetResponseEnvelope

type GatewayRuleGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayRuleGetResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayRule                           `json:"result"`
	JSON    gatewayRuleGetResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayRuleGetResponseEnvelope) UnmarshalJSON

func (r *GatewayRuleGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayRuleGetResponseEnvelopeSuccess

type GatewayRuleGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayRuleGetResponseEnvelopeSuccessTrue GatewayRuleGetResponseEnvelopeSuccess = true
)

func (GatewayRuleGetResponseEnvelopeSuccess) IsKnown

type GatewayRuleNewParams

type GatewayRuleNewParams struct {
	// The action to preform when the associated traffic, identity, and device posture
	// expressions are either absent or evaluate to `true`.
	Action param.Field[GatewayRuleNewParamsAction] `json:"action,required"`
	// The name of the rule.
	Name param.Field[string] `json:"name,required"`
	// The description of the rule.
	Description param.Field[string] `json:"description"`
	// The wirefilter expression used for device posture check matching.
	DevicePosture param.Field[string] `json:"device_posture"`
	// True if the rule is enabled.
	Enabled param.Field[bool] `json:"enabled"`
	// The protocol or layer to evaluate the traffic, identity, and device posture
	// expressions.
	Filters param.Field[[]GatewayFilter] `json:"filters"`
	// The wirefilter expression used for identity matching.
	Identity param.Field[string] `json:"identity"`
	// Precedence sets the order of your rules. Lower values indicate higher
	// precedence. At each processing phase, applicable rules are evaluated in
	// ascending order of this value.
	Precedence param.Field[int64] `json:"precedence"`
	// Additional settings that modify the rule's action.
	RuleSettings param.Field[RuleSettingParam] `json:"rule_settings"`
	// The schedule for activating DNS policies. This does not apply to HTTP or network
	// policies.
	Schedule param.Field[ScheduleParam] `json:"schedule"`
	// The wirefilter expression used for traffic matching.
	Traffic param.Field[string] `json:"traffic"`
}

func (GatewayRuleNewParams) MarshalJSON

func (r GatewayRuleNewParams) MarshalJSON() (data []byte, err error)

type GatewayRuleNewParamsAction

type GatewayRuleNewParamsAction string

The action to preform when the associated traffic, identity, and device posture expressions are either absent or evaluate to `true`.

const (
	GatewayRuleNewParamsActionOn           GatewayRuleNewParamsAction = "on"
	GatewayRuleNewParamsActionOff          GatewayRuleNewParamsAction = "off"
	GatewayRuleNewParamsActionAllow        GatewayRuleNewParamsAction = "allow"
	GatewayRuleNewParamsActionBlock        GatewayRuleNewParamsAction = "block"
	GatewayRuleNewParamsActionScan         GatewayRuleNewParamsAction = "scan"
	GatewayRuleNewParamsActionNoscan       GatewayRuleNewParamsAction = "noscan"
	GatewayRuleNewParamsActionSafesearch   GatewayRuleNewParamsAction = "safesearch"
	GatewayRuleNewParamsActionYtrestricted GatewayRuleNewParamsAction = "ytrestricted"
	GatewayRuleNewParamsActionIsolate      GatewayRuleNewParamsAction = "isolate"
	GatewayRuleNewParamsActionNoisolate    GatewayRuleNewParamsAction = "noisolate"
	GatewayRuleNewParamsActionOverride     GatewayRuleNewParamsAction = "override"
	GatewayRuleNewParamsActionL4Override   GatewayRuleNewParamsAction = "l4_override"
	GatewayRuleNewParamsActionEgress       GatewayRuleNewParamsAction = "egress"
	GatewayRuleNewParamsActionAuditSSH     GatewayRuleNewParamsAction = "audit_ssh"
	GatewayRuleNewParamsActionResolve      GatewayRuleNewParamsAction = "resolve"
)

func (GatewayRuleNewParamsAction) IsKnown

func (r GatewayRuleNewParamsAction) IsKnown() bool

type GatewayRuleNewResponseEnvelope

type GatewayRuleNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayRuleNewResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayRule                           `json:"result"`
	JSON    gatewayRuleNewResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayRuleNewResponseEnvelope) UnmarshalJSON

func (r *GatewayRuleNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayRuleNewResponseEnvelopeSuccess

type GatewayRuleNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayRuleNewResponseEnvelopeSuccessTrue GatewayRuleNewResponseEnvelopeSuccess = true
)

func (GatewayRuleNewResponseEnvelopeSuccess) IsKnown

type GatewayRuleService

type GatewayRuleService struct {
	Options []option.RequestOption
}

GatewayRuleService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayRuleService method instead.

func NewGatewayRuleService

func NewGatewayRuleService(opts ...option.RequestOption) (r *GatewayRuleService)

NewGatewayRuleService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayRuleService) Delete

func (r *GatewayRuleService) Delete(ctx context.Context, accountID string, ruleID string, opts ...option.RequestOption) (res *GatewayRuleDeleteResponseUnion, err error)

Deletes a Zero Trust Gateway rule.

func (*GatewayRuleService) Get

func (r *GatewayRuleService) Get(ctx context.Context, accountID string, ruleID string, opts ...option.RequestOption) (res *GatewayRule, err error)

Fetches a single Zero Trust Gateway rule.

func (*GatewayRuleService) List

func (r *GatewayRuleService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *pagination.SinglePage[GatewayRule], err error)

Fetches the Zero Trust Gateway rules for an account.

func (*GatewayRuleService) ListAutoPaging

Fetches the Zero Trust Gateway rules for an account.

func (*GatewayRuleService) New

func (r *GatewayRuleService) New(ctx context.Context, accountID string, body GatewayRuleNewParams, opts ...option.RequestOption) (res *GatewayRule, err error)

Creates a new Zero Trust Gateway rule.

func (*GatewayRuleService) Update

func (r *GatewayRuleService) Update(ctx context.Context, accountID string, ruleID string, body GatewayRuleUpdateParams, opts ...option.RequestOption) (res *GatewayRule, err error)

Updates a configured Zero Trust Gateway rule.

type GatewayRuleUpdateParams

type GatewayRuleUpdateParams struct {
	// The action to preform when the associated traffic, identity, and device posture
	// expressions are either absent or evaluate to `true`.
	Action param.Field[GatewayRuleUpdateParamsAction] `json:"action,required"`
	// The name of the rule.
	Name param.Field[string] `json:"name,required"`
	// The description of the rule.
	Description param.Field[string] `json:"description"`
	// The wirefilter expression used for device posture check matching.
	DevicePosture param.Field[string] `json:"device_posture"`
	// True if the rule is enabled.
	Enabled param.Field[bool] `json:"enabled"`
	// The protocol or layer to evaluate the traffic, identity, and device posture
	// expressions.
	Filters param.Field[[]GatewayFilter] `json:"filters"`
	// The wirefilter expression used for identity matching.
	Identity param.Field[string] `json:"identity"`
	// Precedence sets the order of your rules. Lower values indicate higher
	// precedence. At each processing phase, applicable rules are evaluated in
	// ascending order of this value.
	Precedence param.Field[int64] `json:"precedence"`
	// Additional settings that modify the rule's action.
	RuleSettings param.Field[RuleSettingParam] `json:"rule_settings"`
	// The schedule for activating DNS policies. This does not apply to HTTP or network
	// policies.
	Schedule param.Field[ScheduleParam] `json:"schedule"`
	// The wirefilter expression used for traffic matching.
	Traffic param.Field[string] `json:"traffic"`
}

func (GatewayRuleUpdateParams) MarshalJSON

func (r GatewayRuleUpdateParams) MarshalJSON() (data []byte, err error)

type GatewayRuleUpdateParamsAction

type GatewayRuleUpdateParamsAction string

The action to preform when the associated traffic, identity, and device posture expressions are either absent or evaluate to `true`.

const (
	GatewayRuleUpdateParamsActionOn           GatewayRuleUpdateParamsAction = "on"
	GatewayRuleUpdateParamsActionOff          GatewayRuleUpdateParamsAction = "off"
	GatewayRuleUpdateParamsActionAllow        GatewayRuleUpdateParamsAction = "allow"
	GatewayRuleUpdateParamsActionBlock        GatewayRuleUpdateParamsAction = "block"
	GatewayRuleUpdateParamsActionScan         GatewayRuleUpdateParamsAction = "scan"
	GatewayRuleUpdateParamsActionNoscan       GatewayRuleUpdateParamsAction = "noscan"
	GatewayRuleUpdateParamsActionSafesearch   GatewayRuleUpdateParamsAction = "safesearch"
	GatewayRuleUpdateParamsActionYtrestricted GatewayRuleUpdateParamsAction = "ytrestricted"
	GatewayRuleUpdateParamsActionIsolate      GatewayRuleUpdateParamsAction = "isolate"
	GatewayRuleUpdateParamsActionNoisolate    GatewayRuleUpdateParamsAction = "noisolate"
	GatewayRuleUpdateParamsActionOverride     GatewayRuleUpdateParamsAction = "override"
	GatewayRuleUpdateParamsActionL4Override   GatewayRuleUpdateParamsAction = "l4_override"
	GatewayRuleUpdateParamsActionEgress       GatewayRuleUpdateParamsAction = "egress"
	GatewayRuleUpdateParamsActionAuditSSH     GatewayRuleUpdateParamsAction = "audit_ssh"
	GatewayRuleUpdateParamsActionResolve      GatewayRuleUpdateParamsAction = "resolve"
)

func (GatewayRuleUpdateParamsAction) IsKnown

func (r GatewayRuleUpdateParamsAction) IsKnown() bool

type GatewayRuleUpdateResponseEnvelope

type GatewayRuleUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success GatewayRuleUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  GatewayRule                              `json:"result"`
	JSON    gatewayRuleUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*GatewayRuleUpdateResponseEnvelope) UnmarshalJSON

func (r *GatewayRuleUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type GatewayRuleUpdateResponseEnvelopeSuccess

type GatewayRuleUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	GatewayRuleUpdateResponseEnvelopeSuccessTrue GatewayRuleUpdateResponseEnvelopeSuccess = true
)

func (GatewayRuleUpdateResponseEnvelopeSuccess) IsKnown

type GatewayService

type GatewayService struct {
	Options          []option.RequestOption
	AuditSSHSettings *GatewayAuditSSHSettingService
	Categories       *GatewayCategoryService
	AppTypes         *GatewayAppTypeService
	Configurations   *GatewayConfigurationService
	Lists            *GatewayListService
	Locations        *GatewayLocationService
	Logging          *GatewayLoggingService
	ProxyEndpoints   *GatewayProxyEndpointService
	Rules            *GatewayRuleService
	Certificates     *GatewayCertificateService
}

GatewayService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewGatewayService method instead.

func NewGatewayService

func NewGatewayService(opts ...option.RequestOption) (r *GatewayService)

NewGatewayService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*GatewayService) List

func (r *GatewayService) List(ctx context.Context, accountID string, opts ...option.RequestOption) (res *GatewayListResponse, err error)

Gets information about the current Zero Trust account.

func (*GatewayService) New

func (r *GatewayService) New(ctx context.Context, accountID string, opts ...option.RequestOption) (res *GatewayNewResponse, err error)

Creates a Zero Trust account with an existing Cloudflare account.

type GatewaySettings

type GatewaySettings struct {
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// SSH encryption public key
	PublicKey string `json:"public_key"`
	// Seed ID
	SeedID    string              `json:"seed_id"`
	UpdatedAt time.Time           `json:"updated_at" format:"date-time"`
	JSON      gatewaySettingsJSON `json:"-"`
}

func (*GatewaySettings) UnmarshalJSON

func (r *GatewaySettings) UnmarshalJSON(data []byte) (err error)

type GenericOAuthConfig

type GenericOAuthConfig struct {
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string                 `json:"client_secret"`
	JSON         genericOAuthConfigJSON `json:"-"`
}

func (*GenericOAuthConfig) UnmarshalJSON

func (r *GenericOAuthConfig) UnmarshalJSON(data []byte) (err error)

type GenericOAuthConfigParam

type GenericOAuthConfigParam struct {
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
}

func (GenericOAuthConfigParam) MarshalJSON

func (r GenericOAuthConfigParam) MarshalJSON() (data []byte, err error)

type GitHubOrganizationRule

type GitHubOrganizationRule struct {
	GitHubOrganization GitHubOrganizationRuleGitHubOrganization `json:"github-organization,required"`
	JSON               githubOrganizationRuleJSON               `json:"-"`
}

Matches a Github organization. Requires a Github identity provider.

func (*GitHubOrganizationRule) UnmarshalJSON

func (r *GitHubOrganizationRule) UnmarshalJSON(data []byte) (err error)

type GitHubOrganizationRuleGitHubOrganization

type GitHubOrganizationRuleGitHubOrganization struct {
	// The ID of your Github identity provider.
	ConnectionID string `json:"connection_id,required"`
	// The name of the organization.
	Name string                                       `json:"name,required"`
	JSON githubOrganizationRuleGitHubOrganizationJSON `json:"-"`
}

func (*GitHubOrganizationRuleGitHubOrganization) UnmarshalJSON

func (r *GitHubOrganizationRuleGitHubOrganization) UnmarshalJSON(data []byte) (err error)

type GitHubOrganizationRuleGitHubOrganizationParam

type GitHubOrganizationRuleGitHubOrganizationParam struct {
	// The ID of your Github identity provider.
	ConnectionID param.Field[string] `json:"connection_id,required"`
	// The name of the organization.
	Name param.Field[string] `json:"name,required"`
}

func (GitHubOrganizationRuleGitHubOrganizationParam) MarshalJSON

func (r GitHubOrganizationRuleGitHubOrganizationParam) MarshalJSON() (data []byte, err error)

type GitHubOrganizationRuleParam

type GitHubOrganizationRuleParam struct {
	GitHubOrganization param.Field[GitHubOrganizationRuleGitHubOrganizationParam] `json:"github-organization,required"`
}

Matches a Github organization. Requires a Github identity provider.

func (GitHubOrganizationRuleParam) MarshalJSON

func (r GitHubOrganizationRuleParam) MarshalJSON() (data []byte, err error)

type GroupRule

type GroupRule struct {
	Group GroupRuleGroup `json:"group,required"`
	JSON  groupRuleJSON  `json:"-"`
}

Matches an Access group.

func (*GroupRule) UnmarshalJSON

func (r *GroupRule) UnmarshalJSON(data []byte) (err error)

type GroupRuleGroup

type GroupRuleGroup struct {
	// The ID of a previously created Access group.
	ID   string             `json:"id,required"`
	JSON groupRuleGroupJSON `json:"-"`
}

func (*GroupRuleGroup) UnmarshalJSON

func (r *GroupRuleGroup) UnmarshalJSON(data []byte) (err error)

type GroupRuleGroupParam

type GroupRuleGroupParam struct {
	// The ID of a previously created Access group.
	ID param.Field[string] `json:"id,required"`
}

func (GroupRuleGroupParam) MarshalJSON

func (r GroupRuleGroupParam) MarshalJSON() (data []byte, err error)

type GroupRuleParam

type GroupRuleParam struct {
	Group param.Field[GroupRuleGroupParam] `json:"group,required"`
}

Matches an Access group.

func (GroupRuleParam) MarshalJSON

func (r GroupRuleParam) MarshalJSON() (data []byte, err error)

type HTTPDetails

type HTTPDetails struct {
	// The url of the HTTP synthetic application test
	Host            string                       `json:"host"`
	HTTPStats       HTTPDetailsHTTPStats         `json:"httpStats,nullable"`
	HTTPStatsByColo []HTTPDetailsHTTPStatsByColo `json:"httpStatsByColo"`
	// The interval at which the HTTP synthetic application test is set to run.
	Interval string          `json:"interval"`
	Kind     HTTPDetailsKind `json:"kind"`
	// The HTTP method to use when running the test
	Method string `json:"method"`
	// The name of the HTTP synthetic application test
	Name           string                    `json:"name"`
	TargetPolicies []DeviceExperienceMonitor `json:"target_policies,nullable"`
	Targeted       bool                      `json:"targeted"`
	JSON           httpDetailsJSON           `json:"-"`
}

func (*HTTPDetails) UnmarshalJSON

func (r *HTTPDetails) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsHTTPStats

type HTTPDetailsHTTPStats struct {
	AvailabilityPct      HTTPDetailsHTTPStatsAvailabilityPct  `json:"availabilityPct,required"`
	DNSResponseTimeMs    TestStatOverTime                     `json:"dnsResponseTimeMs,required"`
	HTTPStatusCode       []HTTPDetailsHTTPStatsHTTPStatusCode `json:"httpStatusCode,required"`
	ResourceFetchTimeMs  TestStatOverTime                     `json:"resourceFetchTimeMs,required"`
	ServerResponseTimeMs TestStatOverTime                     `json:"serverResponseTimeMs,required"`
	// Count of unique devices that have run this test in the given time period
	UniqueDevicesTotal int64                    `json:"uniqueDevicesTotal,required"`
	JSON               httpDetailsHTTPStatsJSON `json:"-"`
}

func (*HTTPDetailsHTTPStats) UnmarshalJSON

func (r *HTTPDetailsHTTPStats) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsHTTPStatsAvailabilityPct

type HTTPDetailsHTTPStatsAvailabilityPct struct {
	Slots []HTTPDetailsHTTPStatsAvailabilityPctSlot `json:"slots,required"`
	// average observed in the time period
	Avg float64 `json:"avg,nullable"`
	// highest observed in the time period
	Max float64 `json:"max,nullable"`
	// lowest observed in the time period
	Min  float64                                 `json:"min,nullable"`
	JSON httpDetailsHTTPStatsAvailabilityPctJSON `json:"-"`
}

func (*HTTPDetailsHTTPStatsAvailabilityPct) UnmarshalJSON

func (r *HTTPDetailsHTTPStatsAvailabilityPct) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsHTTPStatsAvailabilityPctSlot

type HTTPDetailsHTTPStatsAvailabilityPctSlot struct {
	Timestamp string                                      `json:"timestamp,required"`
	Value     float64                                     `json:"value,required"`
	JSON      httpDetailsHTTPStatsAvailabilityPctSlotJSON `json:"-"`
}

func (*HTTPDetailsHTTPStatsAvailabilityPctSlot) UnmarshalJSON

func (r *HTTPDetailsHTTPStatsAvailabilityPctSlot) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsHTTPStatsByColo

type HTTPDetailsHTTPStatsByColo struct {
	AvailabilityPct      HTTPDetailsHTTPStatsByColoAvailabilityPct  `json:"availabilityPct,required"`
	Colo                 string                                     `json:"colo,required"`
	DNSResponseTimeMs    TestStatOverTime                           `json:"dnsResponseTimeMs,required"`
	HTTPStatusCode       []HTTPDetailsHTTPStatsByColoHTTPStatusCode `json:"httpStatusCode,required"`
	ResourceFetchTimeMs  TestStatOverTime                           `json:"resourceFetchTimeMs,required"`
	ServerResponseTimeMs TestStatOverTime                           `json:"serverResponseTimeMs,required"`
	// Count of unique devices that have run this test in the given time period
	UniqueDevicesTotal int64                          `json:"uniqueDevicesTotal,required"`
	JSON               httpDetailsHTTPStatsByColoJSON `json:"-"`
}

func (*HTTPDetailsHTTPStatsByColo) UnmarshalJSON

func (r *HTTPDetailsHTTPStatsByColo) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsHTTPStatsByColoAvailabilityPct

type HTTPDetailsHTTPStatsByColoAvailabilityPct struct {
	Slots []HTTPDetailsHTTPStatsByColoAvailabilityPctSlot `json:"slots,required"`
	// average observed in the time period
	Avg float64 `json:"avg,nullable"`
	// highest observed in the time period
	Max float64 `json:"max,nullable"`
	// lowest observed in the time period
	Min  float64                                       `json:"min,nullable"`
	JSON httpDetailsHTTPStatsByColoAvailabilityPctJSON `json:"-"`
}

func (*HTTPDetailsHTTPStatsByColoAvailabilityPct) UnmarshalJSON

func (r *HTTPDetailsHTTPStatsByColoAvailabilityPct) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsHTTPStatsByColoAvailabilityPctSlot

type HTTPDetailsHTTPStatsByColoAvailabilityPctSlot struct {
	Timestamp string                                            `json:"timestamp,required"`
	Value     float64                                           `json:"value,required"`
	JSON      httpDetailsHTTPStatsByColoAvailabilityPctSlotJSON `json:"-"`
}

func (*HTTPDetailsHTTPStatsByColoAvailabilityPctSlot) UnmarshalJSON

func (r *HTTPDetailsHTTPStatsByColoAvailabilityPctSlot) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsHTTPStatsByColoHTTPStatusCode

type HTTPDetailsHTTPStatsByColoHTTPStatusCode struct {
	Status200 int64                                        `json:"status200,required"`
	Status300 int64                                        `json:"status300,required"`
	Status400 int64                                        `json:"status400,required"`
	Status500 int64                                        `json:"status500,required"`
	Timestamp string                                       `json:"timestamp,required"`
	JSON      httpDetailsHTTPStatsByColoHTTPStatusCodeJSON `json:"-"`
}

func (*HTTPDetailsHTTPStatsByColoHTTPStatusCode) UnmarshalJSON

func (r *HTTPDetailsHTTPStatsByColoHTTPStatusCode) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsHTTPStatsHTTPStatusCode

type HTTPDetailsHTTPStatsHTTPStatusCode struct {
	Status200 int64                                  `json:"status200,required"`
	Status300 int64                                  `json:"status300,required"`
	Status400 int64                                  `json:"status400,required"`
	Status500 int64                                  `json:"status500,required"`
	Timestamp string                                 `json:"timestamp,required"`
	JSON      httpDetailsHTTPStatsHTTPStatusCodeJSON `json:"-"`
}

func (*HTTPDetailsHTTPStatsHTTPStatusCode) UnmarshalJSON

func (r *HTTPDetailsHTTPStatsHTTPStatusCode) UnmarshalJSON(data []byte) (err error)

type HTTPDetailsKind

type HTTPDetailsKind string
const (
	HTTPDetailsKindHTTP HTTPDetailsKind = "http"
)

func (HTTPDetailsKind) IsKnown

func (r HTTPDetailsKind) IsKnown() bool

type HTTPDetailsPercentiles

type HTTPDetailsPercentiles struct {
	DNSResponseTimeMs    Percentiles                `json:"dnsResponseTimeMs"`
	ResourceFetchTimeMs  Percentiles                `json:"resourceFetchTimeMs"`
	ServerResponseTimeMs Percentiles                `json:"serverResponseTimeMs"`
	JSON                 httpDetailsPercentilesJSON `json:"-"`
}

func (*HTTPDetailsPercentiles) UnmarshalJSON

func (r *HTTPDetailsPercentiles) UnmarshalJSON(data []byte) (err error)

type IPListRule

type IPListRule struct {
	IPList IPListRuleIPList `json:"ip_list,required"`
	JSON   ipListRuleJSON   `json:"-"`
}

Matches an IP address from a list.

func (*IPListRule) UnmarshalJSON

func (r *IPListRule) UnmarshalJSON(data []byte) (err error)

type IPListRuleIPList

type IPListRuleIPList struct {
	// The ID of a previously created IP list.
	ID   string               `json:"id,required"`
	JSON ipListRuleIPListJSON `json:"-"`
}

func (*IPListRuleIPList) UnmarshalJSON

func (r *IPListRuleIPList) UnmarshalJSON(data []byte) (err error)

type IPListRuleIPListParam

type IPListRuleIPListParam struct {
	// The ID of a previously created IP list.
	ID param.Field[string] `json:"id,required"`
}

func (IPListRuleIPListParam) MarshalJSON

func (r IPListRuleIPListParam) MarshalJSON() (data []byte, err error)

type IPListRuleParam

type IPListRuleParam struct {
	IPList param.Field[IPListRuleIPListParam] `json:"ip_list,required"`
}

Matches an IP address from a list.

func (IPListRuleParam) MarshalJSON

func (r IPListRuleParam) MarshalJSON() (data []byte, err error)

type IPNetwork

type IPNetwork struct {
	// The IP address or IP CIDR.
	Network string        `json:"network,required"`
	JSON    ipNetworkJSON `json:"-"`
}

func (*IPNetwork) UnmarshalJSON

func (r *IPNetwork) UnmarshalJSON(data []byte) (err error)

type IPNetworkParam

type IPNetworkParam struct {
	// The IP address or IP CIDR.
	Network param.Field[string] `json:"network,required"`
}

func (IPNetworkParam) MarshalJSON

func (r IPNetworkParam) MarshalJSON() (data []byte, err error)

type IPRule

type IPRule struct {
	IP   IPRuleIP   `json:"ip,required"`
	JSON ipRuleJSON `json:"-"`
}

Matches an IP address block.

func (*IPRule) UnmarshalJSON

func (r *IPRule) UnmarshalJSON(data []byte) (err error)

type IPRuleIP

type IPRuleIP struct {
	// An IPv4 or IPv6 CIDR block.
	IP   string       `json:"ip,required"`
	JSON ipRuleIPJSON `json:"-"`
}

func (*IPRuleIP) UnmarshalJSON

func (r *IPRuleIP) UnmarshalJSON(data []byte) (err error)

type IPRuleIPParam

type IPRuleIPParam struct {
	// An IPv4 or IPv6 CIDR block.
	IP param.Field[string] `json:"ip,required"`
}

func (IPRuleIPParam) MarshalJSON

func (r IPRuleIPParam) MarshalJSON() (data []byte, err error)

type IPRuleParam

type IPRuleParam struct {
	IP param.Field[IPRuleIPParam] `json:"ip,required"`
}

Matches an IP address block.

func (IPRuleParam) MarshalJSON

func (r IPRuleParam) MarshalJSON() (data []byte, err error)

type IPV4Endpoint

type IPV4Endpoint struct {
	// True if the endpoint is enabled for this location.
	Enabled bool             `json:"enabled"`
	JSON    ipv4EndpointJSON `json:"-"`
}

func (*IPV4Endpoint) UnmarshalJSON

func (r *IPV4Endpoint) UnmarshalJSON(data []byte) (err error)

type IPV4EndpointParam

type IPV4EndpointParam struct {
	// True if the endpoint is enabled for this location.
	Enabled param.Field[bool] `json:"enabled"`
}

func (IPV4EndpointParam) MarshalJSON

func (r IPV4EndpointParam) MarshalJSON() (data []byte, err error)

type IPV6Endpoint

type IPV6Endpoint struct {
	// True if the endpoint is enabled for this location.
	Enabled bool `json:"enabled"`
	// A list of allowed source IPv6 network ranges for this endpoint. When empty, all
	// source IPs are allowed. A non-empty list is only effective if the endpoint is
	// enabled for this location.
	Networks []IPV6Network    `json:"networks"`
	JSON     ipv6EndpointJSON `json:"-"`
}

func (*IPV6Endpoint) UnmarshalJSON

func (r *IPV6Endpoint) UnmarshalJSON(data []byte) (err error)

type IPV6EndpointParam

type IPV6EndpointParam struct {
	// True if the endpoint is enabled for this location.
	Enabled param.Field[bool] `json:"enabled"`
	// A list of allowed source IPv6 network ranges for this endpoint. When empty, all
	// source IPs are allowed. A non-empty list is only effective if the endpoint is
	// enabled for this location.
	Networks param.Field[[]IPV6NetworkParam] `json:"networks"`
}

func (IPV6EndpointParam) MarshalJSON

func (r IPV6EndpointParam) MarshalJSON() (data []byte, err error)

type IPV6Network

type IPV6Network struct {
	// The IPv6 address or IPv6 CIDR.
	Network string          `json:"network,required"`
	JSON    ipv6NetworkJSON `json:"-"`
}

func (*IPV6Network) UnmarshalJSON

func (r *IPV6Network) UnmarshalJSON(data []byte) (err error)

type IPV6NetworkParam

type IPV6NetworkParam struct {
	// The IPv6 address or IPv6 CIDR.
	Network param.Field[string] `json:"network,required"`
}

func (IPV6NetworkParam) MarshalJSON

func (r IPV6NetworkParam) MarshalJSON() (data []byte, err error)

type Identity

type Identity struct {
	AccountID          string                           `json:"account_id"`
	AuthStatus         string                           `json:"auth_status"`
	CommonName         string                           `json:"common_name"`
	DeviceID           string                           `json:"device_id"`
	DeviceSessions     map[string]IdentityDeviceSession `json:"device_sessions"`
	DevicePosture      map[string]IdentityDevicePosture `json:"devicePosture"`
	Email              string                           `json:"email"`
	Geo                UserPolicyCheckGeo               `json:"geo"`
	Iat                float64                          `json:"iat"`
	IdP                IdentityIdP                      `json:"idp"`
	IP                 string                           `json:"ip"`
	IsGateway          bool                             `json:"is_gateway"`
	IsWARP             bool                             `json:"is_warp"`
	MTLSAuth           IdentityMTLSAuth                 `json:"mtls_auth"`
	ServiceTokenID     string                           `json:"service_token_id"`
	ServiceTokenStatus bool                             `json:"service_token_status"`
	UserUUID           string                           `json:"user_uuid"`
	Version            float64                          `json:"version"`
	JSON               identityJSON                     `json:"-"`
}

func (*Identity) UnmarshalJSON

func (r *Identity) UnmarshalJSON(data []byte) (err error)

type IdentityDevicePosture

type IdentityDevicePosture struct {
	ID          string                     `json:"id"`
	Check       IdentityDevicePostureCheck `json:"check"`
	Data        interface{}                `json:"data"`
	Description string                     `json:"description"`
	Error       string                     `json:"error"`
	RuleName    string                     `json:"rule_name"`
	Success     bool                       `json:"success"`
	Timestamp   string                     `json:"timestamp"`
	Type        string                     `json:"type"`
	JSON        identityDevicePostureJSON  `json:"-"`
}

func (*IdentityDevicePosture) UnmarshalJSON

func (r *IdentityDevicePosture) UnmarshalJSON(data []byte) (err error)

type IdentityDevicePostureCheck

type IdentityDevicePostureCheck struct {
	Exists bool                           `json:"exists"`
	Path   string                         `json:"path"`
	JSON   identityDevicePostureCheckJSON `json:"-"`
}

func (*IdentityDevicePostureCheck) UnmarshalJSON

func (r *IdentityDevicePostureCheck) UnmarshalJSON(data []byte) (err error)

type IdentityDeviceSession

type IdentityDeviceSession struct {
	LastAuthenticated float64                   `json:"last_authenticated"`
	JSON              identityDeviceSessionJSON `json:"-"`
}

func (*IdentityDeviceSession) UnmarshalJSON

func (r *IdentityDeviceSession) UnmarshalJSON(data []byte) (err error)

type IdentityIdP

type IdentityIdP struct {
	ID   string          `json:"id"`
	Type string          `json:"type"`
	JSON identityIdPJSON `json:"-"`
}

func (*IdentityIdP) UnmarshalJSON

func (r *IdentityIdP) UnmarshalJSON(data []byte) (err error)

type IdentityMTLSAuth

type IdentityMTLSAuth struct {
	AuthStatus    string               `json:"auth_status"`
	CERTIssuerDn  string               `json:"cert_issuer_dn"`
	CERTIssuerSki string               `json:"cert_issuer_ski"`
	CERTPresented bool                 `json:"cert_presented"`
	CERTSerial    string               `json:"cert_serial"`
	JSON          identityMTLSAuthJSON `json:"-"`
}

func (*IdentityMTLSAuth) UnmarshalJSON

func (r *IdentityMTLSAuth) UnmarshalJSON(data []byte) (err error)

type IdentityProvider

type IdentityProvider struct {
	// This field can have the runtime type of [AzureADConfig],
	// [IdentityProviderAccessCentrifyConfig], [GenericOAuthConfig],
	// [IdentityProviderAccessGoogleConfig], [IdentityProviderAccessGoogleAppsConfig],
	// [IdentityProviderAccessOIDCConfig], [IdentityProviderAccessOktaConfig],
	// [IdentityProviderAccessOneloginConfig], [IdentityProviderAccessPingoneConfig],
	// [IdentityProviderAccessSAMLConfig], [interface{}].
	Config interface{} `json:"config"`
	// UUID
	ID string `json:"id"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig `json:"scim_config"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	JSON identityProviderJSON `json:"-"`
	// contains filtered or unexported fields
}

func (*IdentityProvider) UnmarshalJSON

func (r *IdentityProvider) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessCentrify

type IdentityProviderAccessCentrify struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderAccessCentrifyConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig         `json:"scim_config"`
	JSON       identityProviderAccessCentrifyJSON `json:"-"`
}

func (*IdentityProviderAccessCentrify) UnmarshalJSON

func (r *IdentityProviderAccessCentrify) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessCentrifyConfig

type IdentityProviderAccessCentrifyConfig struct {
	// Your centrify account url
	CentrifyAccount string `json:"centrify_account"`
	// Your centrify app id
	CentrifyAppID string `json:"centrify_app_id"`
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string                                   `json:"email_claim_name"`
	JSON           identityProviderAccessCentrifyConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderAccessCentrifyConfig) UnmarshalJSON

func (r *IdentityProviderAccessCentrifyConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessCentrifyConfigParam

type IdentityProviderAccessCentrifyConfigParam struct {
	// Your centrify account url
	CentrifyAccount param.Field[string] `json:"centrify_account"`
	// Your centrify app id
	CentrifyAppID param.Field[string] `json:"centrify_app_id"`
	// Custom claims
	Claims param.Field[[]string] `json:"claims"`
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName param.Field[string] `json:"email_claim_name"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (IdentityProviderAccessCentrifyConfigParam) MarshalJSON

func (r IdentityProviderAccessCentrifyConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessCentrifyParam

type IdentityProviderAccessCentrifyParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[IdentityProviderAccessCentrifyConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessCentrifyParam) MarshalJSON

func (r IdentityProviderAccessCentrifyParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessFacebook

type IdentityProviderAccessFacebook struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config GenericOAuthConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig         `json:"scim_config"`
	JSON       identityProviderAccessFacebookJSON `json:"-"`
}

func (*IdentityProviderAccessFacebook) UnmarshalJSON

func (r *IdentityProviderAccessFacebook) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessFacebookParam

type IdentityProviderAccessFacebookParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[GenericOAuthConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessFacebookParam) MarshalJSON

func (r IdentityProviderAccessFacebookParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessGitHub

type IdentityProviderAccessGitHub struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config GenericOAuthConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig       `json:"scim_config"`
	JSON       identityProviderAccessGitHubJSON `json:"-"`
}

func (*IdentityProviderAccessGitHub) UnmarshalJSON

func (r *IdentityProviderAccessGitHub) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessGitHubParam

type IdentityProviderAccessGitHubParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[GenericOAuthConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessGitHubParam) MarshalJSON

func (r IdentityProviderAccessGitHubParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessGoogle

type IdentityProviderAccessGoogle struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderAccessGoogleConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig       `json:"scim_config"`
	JSON       identityProviderAccessGoogleJSON `json:"-"`
}

func (*IdentityProviderAccessGoogle) UnmarshalJSON

func (r *IdentityProviderAccessGoogle) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessGoogleApps

type IdentityProviderAccessGoogleApps struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderAccessGoogleAppsConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig           `json:"scim_config"`
	JSON       identityProviderAccessGoogleAppsJSON `json:"-"`
}

func (*IdentityProviderAccessGoogleApps) UnmarshalJSON

func (r *IdentityProviderAccessGoogleApps) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessGoogleAppsConfig

type IdentityProviderAccessGoogleAppsConfig struct {
	// Your companies TLD
	AppsDomain string `json:"apps_domain"`
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string                                     `json:"email_claim_name"`
	JSON           identityProviderAccessGoogleAppsConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderAccessGoogleAppsConfig) UnmarshalJSON

func (r *IdentityProviderAccessGoogleAppsConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessGoogleAppsConfigParam

type IdentityProviderAccessGoogleAppsConfigParam struct {
	// Your companies TLD
	AppsDomain param.Field[string] `json:"apps_domain"`
	// Custom claims
	Claims param.Field[[]string] `json:"claims"`
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName param.Field[string] `json:"email_claim_name"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (IdentityProviderAccessGoogleAppsConfigParam) MarshalJSON

func (r IdentityProviderAccessGoogleAppsConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessGoogleAppsParam

type IdentityProviderAccessGoogleAppsParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[IdentityProviderAccessGoogleAppsConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessGoogleAppsParam) MarshalJSON

func (r IdentityProviderAccessGoogleAppsParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessGoogleConfig

type IdentityProviderAccessGoogleConfig struct {
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string                                 `json:"email_claim_name"`
	JSON           identityProviderAccessGoogleConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderAccessGoogleConfig) UnmarshalJSON

func (r *IdentityProviderAccessGoogleConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessGoogleConfigParam

type IdentityProviderAccessGoogleConfigParam struct {
	// Custom claims
	Claims param.Field[[]string] `json:"claims"`
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName param.Field[string] `json:"email_claim_name"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (IdentityProviderAccessGoogleConfigParam) MarshalJSON

func (r IdentityProviderAccessGoogleConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessGoogleParam

type IdentityProviderAccessGoogleParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[IdentityProviderAccessGoogleConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessGoogleParam) MarshalJSON

func (r IdentityProviderAccessGoogleParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessLinkedin

type IdentityProviderAccessLinkedin struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config GenericOAuthConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig         `json:"scim_config"`
	JSON       identityProviderAccessLinkedinJSON `json:"-"`
}

func (*IdentityProviderAccessLinkedin) UnmarshalJSON

func (r *IdentityProviderAccessLinkedin) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessLinkedinParam

type IdentityProviderAccessLinkedinParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[GenericOAuthConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessLinkedinParam) MarshalJSON

func (r IdentityProviderAccessLinkedinParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessOIDC

type IdentityProviderAccessOIDC struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderAccessOIDCConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig     `json:"scim_config"`
	JSON       identityProviderAccessOIDCJSON `json:"-"`
}

func (*IdentityProviderAccessOIDC) UnmarshalJSON

func (r *IdentityProviderAccessOIDC) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessOIDCConfig

type IdentityProviderAccessOIDCConfig struct {
	// The authorization_endpoint URL of your IdP
	AuthURL string `json:"auth_url"`
	// The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
	CERTsURL string `json:"certs_url"`
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// OAuth scopes
	Scopes []string `json:"scopes"`
	// The token_endpoint URL of your IdP
	TokenURL string                               `json:"token_url"`
	JSON     identityProviderAccessOIDCConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderAccessOIDCConfig) UnmarshalJSON

func (r *IdentityProviderAccessOIDCConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessOIDCConfigParam

type IdentityProviderAccessOIDCConfigParam struct {
	// The authorization_endpoint URL of your IdP
	AuthURL param.Field[string] `json:"auth_url"`
	// The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
	CERTsURL param.Field[string] `json:"certs_url"`
	// Custom claims
	Claims param.Field[[]string] `json:"claims"`
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName param.Field[string] `json:"email_claim_name"`
	// OAuth scopes
	Scopes param.Field[[]string] `json:"scopes"`
	// The token_endpoint URL of your IdP
	TokenURL param.Field[string] `json:"token_url"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (IdentityProviderAccessOIDCConfigParam) MarshalJSON

func (r IdentityProviderAccessOIDCConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessOIDCParam

type IdentityProviderAccessOIDCParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[IdentityProviderAccessOIDCConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessOIDCParam) MarshalJSON

func (r IdentityProviderAccessOIDCParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessOkta

type IdentityProviderAccessOkta struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderAccessOktaConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig     `json:"scim_config"`
	JSON       identityProviderAccessOktaJSON `json:"-"`
}

func (*IdentityProviderAccessOkta) UnmarshalJSON

func (r *IdentityProviderAccessOkta) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessOktaConfig

type IdentityProviderAccessOktaConfig struct {
	// Your okta authorization server id
	AuthorizationServerID string `json:"authorization_server_id"`
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// Your okta account url
	OktaAccount string                               `json:"okta_account"`
	JSON        identityProviderAccessOktaConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderAccessOktaConfig) UnmarshalJSON

func (r *IdentityProviderAccessOktaConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessOktaConfigParam

type IdentityProviderAccessOktaConfigParam struct {
	// Your okta authorization server id
	AuthorizationServerID param.Field[string] `json:"authorization_server_id"`
	// Custom claims
	Claims param.Field[[]string] `json:"claims"`
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName param.Field[string] `json:"email_claim_name"`
	// Your okta account url
	OktaAccount param.Field[string] `json:"okta_account"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (IdentityProviderAccessOktaConfigParam) MarshalJSON

func (r IdentityProviderAccessOktaConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessOktaParam

type IdentityProviderAccessOktaParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[IdentityProviderAccessOktaConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessOktaParam) MarshalJSON

func (r IdentityProviderAccessOktaParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessOnelogin

type IdentityProviderAccessOnelogin struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderAccessOneloginConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig         `json:"scim_config"`
	JSON       identityProviderAccessOneloginJSON `json:"-"`
}

func (*IdentityProviderAccessOnelogin) UnmarshalJSON

func (r *IdentityProviderAccessOnelogin) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessOneloginConfig

type IdentityProviderAccessOneloginConfig struct {
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// Your OneLogin account url
	OneloginAccount string                                   `json:"onelogin_account"`
	JSON            identityProviderAccessOneloginConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderAccessOneloginConfig) UnmarshalJSON

func (r *IdentityProviderAccessOneloginConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessOneloginConfigParam

type IdentityProviderAccessOneloginConfigParam struct {
	// Custom claims
	Claims param.Field[[]string] `json:"claims"`
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName param.Field[string] `json:"email_claim_name"`
	// Your OneLogin account url
	OneloginAccount param.Field[string] `json:"onelogin_account"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (IdentityProviderAccessOneloginConfigParam) MarshalJSON

func (r IdentityProviderAccessOneloginConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessOneloginParam

type IdentityProviderAccessOneloginParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[IdentityProviderAccessOneloginConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessOneloginParam) MarshalJSON

func (r IdentityProviderAccessOneloginParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessOnetimepin

type IdentityProviderAccessOnetimepin struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config interface{} `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig           `json:"scim_config"`
	JSON       identityProviderAccessOnetimepinJSON `json:"-"`
}

func (*IdentityProviderAccessOnetimepin) UnmarshalJSON

func (r *IdentityProviderAccessOnetimepin) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessOnetimepinParam

type IdentityProviderAccessOnetimepinParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[interface{}] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessOnetimepinParam) MarshalJSON

func (r IdentityProviderAccessOnetimepinParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessPingone

type IdentityProviderAccessPingone struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderAccessPingoneConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig        `json:"scim_config"`
	JSON       identityProviderAccessPingoneJSON `json:"-"`
}

func (*IdentityProviderAccessPingone) UnmarshalJSON

func (r *IdentityProviderAccessPingone) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessPingoneConfig

type IdentityProviderAccessPingoneConfig struct {
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// Your PingOne environment identifier
	PingEnvID string                                  `json:"ping_env_id"`
	JSON      identityProviderAccessPingoneConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderAccessPingoneConfig) UnmarshalJSON

func (r *IdentityProviderAccessPingoneConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessPingoneConfigParam

type IdentityProviderAccessPingoneConfigParam struct {
	// Custom claims
	Claims param.Field[[]string] `json:"claims"`
	// Your OAuth Client ID
	ClientID param.Field[string] `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret param.Field[string] `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName param.Field[string] `json:"email_claim_name"`
	// Your PingOne environment identifier
	PingEnvID param.Field[string] `json:"ping_env_id"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (IdentityProviderAccessPingoneConfigParam) MarshalJSON

func (r IdentityProviderAccessPingoneConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessPingoneParam

type IdentityProviderAccessPingoneParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[IdentityProviderAccessPingoneConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessPingoneParam) MarshalJSON

func (r IdentityProviderAccessPingoneParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessSAML

type IdentityProviderAccessSAML struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderAccessSAMLConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig     `json:"scim_config"`
	JSON       identityProviderAccessSAMLJSON `json:"-"`
}

func (*IdentityProviderAccessSAML) UnmarshalJSON

func (r *IdentityProviderAccessSAML) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessSAMLConfig

type IdentityProviderAccessSAMLConfig struct {
	// A list of SAML attribute names that will be added to your signed JWT token and
	// can be used in SAML policy rules.
	Attributes []string `json:"attributes"`
	// The attribute name for email in the SAML response.
	EmailAttributeName string `json:"email_attribute_name"`
	// Add a list of attribute names that will be returned in the response header from
	// the Access callback.
	HeaderAttributes []IdentityProviderAccessSAMLConfigHeaderAttribute `json:"header_attributes"`
	// X509 certificate to verify the signature in the SAML authentication response
	IdPPublicCERTs []string `json:"idp_public_certs"`
	// IdP Entity ID or Issuer URL
	IssuerURL string `json:"issuer_url"`
	// Sign the SAML authentication request with Access credentials. To verify the
	// signature, use the public key from the Access certs endpoints.
	SignRequest bool `json:"sign_request"`
	// URL to send the SAML authentication requests to
	SSOTargetURL string                               `json:"sso_target_url"`
	JSON         identityProviderAccessSAMLConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderAccessSAMLConfig) UnmarshalJSON

func (r *IdentityProviderAccessSAMLConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessSAMLConfigHeaderAttribute

type IdentityProviderAccessSAMLConfigHeaderAttribute struct {
	// attribute name from the IDP
	AttributeName string `json:"attribute_name"`
	// header that will be added on the request to the origin
	HeaderName string                                              `json:"header_name"`
	JSON       identityProviderAccessSAMLConfigHeaderAttributeJSON `json:"-"`
}

func (*IdentityProviderAccessSAMLConfigHeaderAttribute) UnmarshalJSON

func (r *IdentityProviderAccessSAMLConfigHeaderAttribute) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessSAMLConfigHeaderAttributeParam

type IdentityProviderAccessSAMLConfigHeaderAttributeParam struct {
	// attribute name from the IDP
	AttributeName param.Field[string] `json:"attribute_name"`
	// header that will be added on the request to the origin
	HeaderName param.Field[string] `json:"header_name"`
}

func (IdentityProviderAccessSAMLConfigHeaderAttributeParam) MarshalJSON

func (r IdentityProviderAccessSAMLConfigHeaderAttributeParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessSAMLConfigParam

type IdentityProviderAccessSAMLConfigParam struct {
	// A list of SAML attribute names that will be added to your signed JWT token and
	// can be used in SAML policy rules.
	Attributes param.Field[[]string] `json:"attributes"`
	// The attribute name for email in the SAML response.
	EmailAttributeName param.Field[string] `json:"email_attribute_name"`
	// Add a list of attribute names that will be returned in the response header from
	// the Access callback.
	HeaderAttributes param.Field[[]IdentityProviderAccessSAMLConfigHeaderAttributeParam] `json:"header_attributes"`
	// X509 certificate to verify the signature in the SAML authentication response
	IdPPublicCERTs param.Field[[]string] `json:"idp_public_certs"`
	// IdP Entity ID or Issuer URL
	IssuerURL param.Field[string] `json:"issuer_url"`
	// Sign the SAML authentication request with Access credentials. To verify the
	// signature, use the public key from the Access certs endpoints.
	SignRequest param.Field[bool] `json:"sign_request"`
	// URL to send the SAML authentication requests to
	SSOTargetURL param.Field[string] `json:"sso_target_url"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (IdentityProviderAccessSAMLConfigParam) MarshalJSON

func (r IdentityProviderAccessSAMLConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessSAMLParam

type IdentityProviderAccessSAMLParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[IdentityProviderAccessSAMLConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessSAMLParam) MarshalJSON

func (r IdentityProviderAccessSAMLParam) MarshalJSON() (data []byte, err error)

type IdentityProviderAccessYandex

type IdentityProviderAccessYandex struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config GenericOAuthConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig       `json:"scim_config"`
	JSON       identityProviderAccessYandexJSON `json:"-"`
}

func (*IdentityProviderAccessYandex) UnmarshalJSON

func (r *IdentityProviderAccessYandex) UnmarshalJSON(data []byte) (err error)

type IdentityProviderAccessYandexParam

type IdentityProviderAccessYandexParam struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config param.Field[GenericOAuthConfigParam] `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
}

func (IdentityProviderAccessYandexParam) MarshalJSON

func (r IdentityProviderAccessYandexParam) MarshalJSON() (data []byte, err error)

type IdentityProviderDeleteResponse

type IdentityProviderDeleteResponse struct {
	// UUID
	ID   string                             `json:"id"`
	JSON identityProviderDeleteResponseJSON `json:"-"`
}

func (*IdentityProviderDeleteResponse) UnmarshalJSON

func (r *IdentityProviderDeleteResponse) UnmarshalJSON(data []byte) (err error)

type IdentityProviderDeleteResponseEnvelope

type IdentityProviderDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success IdentityProviderDeleteResponseEnvelopeSuccess `json:"success,required"`
	Result  IdentityProviderDeleteResponse                `json:"result"`
	JSON    identityProviderDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*IdentityProviderDeleteResponseEnvelope) UnmarshalJSON

func (r *IdentityProviderDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type IdentityProviderDeleteResponseEnvelopeSuccess

type IdentityProviderDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	IdentityProviderDeleteResponseEnvelopeSuccessTrue IdentityProviderDeleteResponseEnvelopeSuccess = true
)

func (IdentityProviderDeleteResponseEnvelopeSuccess) IsKnown

type IdentityProviderGetResponseEnvelope

type IdentityProviderGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success IdentityProviderGetResponseEnvelopeSuccess `json:"success,required"`
	Result  IdentityProvider                           `json:"result"`
	JSON    identityProviderGetResponseEnvelopeJSON    `json:"-"`
}

func (*IdentityProviderGetResponseEnvelope) UnmarshalJSON

func (r *IdentityProviderGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type IdentityProviderGetResponseEnvelopeSuccess

type IdentityProviderGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	IdentityProviderGetResponseEnvelopeSuccessTrue IdentityProviderGetResponseEnvelopeSuccess = true
)

func (IdentityProviderGetResponseEnvelopeSuccess) IsKnown

type IdentityProviderListResponse

type IdentityProviderListResponse struct {
	// This field can have the runtime type of [AzureADConfig],
	// [IdentityProviderListResponseAccessCentrifyConfig], [GenericOAuthConfig],
	// [IdentityProviderListResponseAccessGoogleConfig],
	// [IdentityProviderListResponseAccessGoogleAppsConfig],
	// [IdentityProviderListResponseAccessOIDCConfig],
	// [IdentityProviderListResponseAccessOktaConfig],
	// [IdentityProviderListResponseAccessOneloginConfig],
	// [IdentityProviderListResponseAccessPingoneConfig],
	// [IdentityProviderListResponseAccessSAMLConfig].
	Config interface{} `json:"config"`
	// UUID
	ID string `json:"id"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig `json:"scim_config"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType             `json:"type,required"`
	JSON identityProviderListResponseJSON `json:"-"`
	// contains filtered or unexported fields
}

func (*IdentityProviderListResponse) UnmarshalJSON

func (r *IdentityProviderListResponse) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessCentrify

type IdentityProviderListResponseAccessCentrify struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderListResponseAccessCentrifyConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                     `json:"scim_config"`
	JSON       identityProviderListResponseAccessCentrifyJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessCentrify) UnmarshalJSON

func (r *IdentityProviderListResponseAccessCentrify) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessCentrifyConfig

type IdentityProviderListResponseAccessCentrifyConfig struct {
	// Your centrify account url
	CentrifyAccount string `json:"centrify_account"`
	// Your centrify app id
	CentrifyAppID string `json:"centrify_app_id"`
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string                                               `json:"email_claim_name"`
	JSON           identityProviderListResponseAccessCentrifyConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderListResponseAccessCentrifyConfig) UnmarshalJSON

func (r *IdentityProviderListResponseAccessCentrifyConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessFacebook

type IdentityProviderListResponseAccessFacebook struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config GenericOAuthConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                     `json:"scim_config"`
	JSON       identityProviderListResponseAccessFacebookJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessFacebook) UnmarshalJSON

func (r *IdentityProviderListResponseAccessFacebook) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessGitHub

type IdentityProviderListResponseAccessGitHub struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config GenericOAuthConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                   `json:"scim_config"`
	JSON       identityProviderListResponseAccessGitHubJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessGitHub) UnmarshalJSON

func (r *IdentityProviderListResponseAccessGitHub) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessGoogle

type IdentityProviderListResponseAccessGoogle struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderListResponseAccessGoogleConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                   `json:"scim_config"`
	JSON       identityProviderListResponseAccessGoogleJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessGoogle) UnmarshalJSON

func (r *IdentityProviderListResponseAccessGoogle) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessGoogleApps

type IdentityProviderListResponseAccessGoogleApps struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderListResponseAccessGoogleAppsConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                       `json:"scim_config"`
	JSON       identityProviderListResponseAccessGoogleAppsJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessGoogleApps) UnmarshalJSON

func (r *IdentityProviderListResponseAccessGoogleApps) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessGoogleAppsConfig

type IdentityProviderListResponseAccessGoogleAppsConfig struct {
	// Your companies TLD
	AppsDomain string `json:"apps_domain"`
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string                                                 `json:"email_claim_name"`
	JSON           identityProviderListResponseAccessGoogleAppsConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderListResponseAccessGoogleAppsConfig) UnmarshalJSON

func (r *IdentityProviderListResponseAccessGoogleAppsConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessGoogleConfig

type IdentityProviderListResponseAccessGoogleConfig struct {
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string                                             `json:"email_claim_name"`
	JSON           identityProviderListResponseAccessGoogleConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderListResponseAccessGoogleConfig) UnmarshalJSON

func (r *IdentityProviderListResponseAccessGoogleConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessLinkedin

type IdentityProviderListResponseAccessLinkedin struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config GenericOAuthConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                     `json:"scim_config"`
	JSON       identityProviderListResponseAccessLinkedinJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessLinkedin) UnmarshalJSON

func (r *IdentityProviderListResponseAccessLinkedin) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessOIDC

type IdentityProviderListResponseAccessOIDC struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderListResponseAccessOIDCConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                 `json:"scim_config"`
	JSON       identityProviderListResponseAccessOIDCJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessOIDC) UnmarshalJSON

func (r *IdentityProviderListResponseAccessOIDC) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessOIDCConfig

type IdentityProviderListResponseAccessOIDCConfig struct {
	// The authorization_endpoint URL of your IdP
	AuthURL string `json:"auth_url"`
	// The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
	CERTsURL string `json:"certs_url"`
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// OAuth scopes
	Scopes []string `json:"scopes"`
	// The token_endpoint URL of your IdP
	TokenURL string                                           `json:"token_url"`
	JSON     identityProviderListResponseAccessOIDCConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderListResponseAccessOIDCConfig) UnmarshalJSON

func (r *IdentityProviderListResponseAccessOIDCConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessOkta

type IdentityProviderListResponseAccessOkta struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderListResponseAccessOktaConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                 `json:"scim_config"`
	JSON       identityProviderListResponseAccessOktaJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessOkta) UnmarshalJSON

func (r *IdentityProviderListResponseAccessOkta) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessOktaConfig

type IdentityProviderListResponseAccessOktaConfig struct {
	// Your okta authorization server id
	AuthorizationServerID string `json:"authorization_server_id"`
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// Your okta account url
	OktaAccount string                                           `json:"okta_account"`
	JSON        identityProviderListResponseAccessOktaConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderListResponseAccessOktaConfig) UnmarshalJSON

func (r *IdentityProviderListResponseAccessOktaConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessOnelogin

type IdentityProviderListResponseAccessOnelogin struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderListResponseAccessOneloginConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                     `json:"scim_config"`
	JSON       identityProviderListResponseAccessOneloginJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessOnelogin) UnmarshalJSON

func (r *IdentityProviderListResponseAccessOnelogin) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessOneloginConfig

type IdentityProviderListResponseAccessOneloginConfig struct {
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// Your OneLogin account url
	OneloginAccount string                                               `json:"onelogin_account"`
	JSON            identityProviderListResponseAccessOneloginConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderListResponseAccessOneloginConfig) UnmarshalJSON

func (r *IdentityProviderListResponseAccessOneloginConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessPingone

type IdentityProviderListResponseAccessPingone struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderListResponseAccessPingoneConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                    `json:"scim_config"`
	JSON       identityProviderListResponseAccessPingoneJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessPingone) UnmarshalJSON

func (r *IdentityProviderListResponseAccessPingone) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessPingoneConfig

type IdentityProviderListResponseAccessPingoneConfig struct {
	// Custom claims
	Claims []string `json:"claims"`
	// Your OAuth Client ID
	ClientID string `json:"client_id"`
	// Your OAuth Client Secret
	ClientSecret string `json:"client_secret"`
	// The claim name for email in the id_token response.
	EmailClaimName string `json:"email_claim_name"`
	// Your PingOne environment identifier
	PingEnvID string                                              `json:"ping_env_id"`
	JSON      identityProviderListResponseAccessPingoneConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderListResponseAccessPingoneConfig) UnmarshalJSON

func (r *IdentityProviderListResponseAccessPingoneConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessSAML

type IdentityProviderListResponseAccessSAML struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config IdentityProviderListResponseAccessSAMLConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                 `json:"scim_config"`
	JSON       identityProviderListResponseAccessSAMLJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessSAML) UnmarshalJSON

func (r *IdentityProviderListResponseAccessSAML) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessSAMLConfig

type IdentityProviderListResponseAccessSAMLConfig struct {
	// A list of SAML attribute names that will be added to your signed JWT token and
	// can be used in SAML policy rules.
	Attributes []string `json:"attributes"`
	// The attribute name for email in the SAML response.
	EmailAttributeName string `json:"email_attribute_name"`
	// Add a list of attribute names that will be returned in the response header from
	// the Access callback.
	HeaderAttributes []IdentityProviderListResponseAccessSAMLConfigHeaderAttribute `json:"header_attributes"`
	// X509 certificate to verify the signature in the SAML authentication response
	IdPPublicCERTs []string `json:"idp_public_certs"`
	// IdP Entity ID or Issuer URL
	IssuerURL string `json:"issuer_url"`
	// Sign the SAML authentication request with Access credentials. To verify the
	// signature, use the public key from the Access certs endpoints.
	SignRequest bool `json:"sign_request"`
	// URL to send the SAML authentication requests to
	SSOTargetURL string                                           `json:"sso_target_url"`
	JSON         identityProviderListResponseAccessSAMLConfigJSON `json:"-"`
}

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

func (*IdentityProviderListResponseAccessSAMLConfig) UnmarshalJSON

func (r *IdentityProviderListResponseAccessSAMLConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderListResponseAccessSAMLConfigHeaderAttribute

type IdentityProviderListResponseAccessSAMLConfigHeaderAttribute struct {
	// attribute name from the IDP
	AttributeName string `json:"attribute_name"`
	// header that will be added on the request to the origin
	HeaderName string                                                          `json:"header_name"`
	JSON       identityProviderListResponseAccessSAMLConfigHeaderAttributeJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessSAMLConfigHeaderAttribute) UnmarshalJSON

type IdentityProviderListResponseAccessYandex

type IdentityProviderListResponseAccessYandex struct {
	// The configuration parameters for the identity provider. To view the required
	// parameters for a specific provider, refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Config GenericOAuthConfig `json:"config,required"`
	// The name of the identity provider, shown to users on the login page.
	Name string `json:"name,required"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type IdentityProviderType `json:"type,required"`
	// UUID
	ID string `json:"id"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig IdentityProviderSCIMConfig                   `json:"scim_config"`
	JSON       identityProviderListResponseAccessYandexJSON `json:"-"`
}

func (*IdentityProviderListResponseAccessYandex) UnmarshalJSON

func (r *IdentityProviderListResponseAccessYandex) UnmarshalJSON(data []byte) (err error)

type IdentityProviderNewParams

type IdentityProviderNewParams struct {
	IdentityProvider IdentityProviderUnionParam `json:"identity_provider,required"`
}

func (IdentityProviderNewParams) MarshalJSON

func (r IdentityProviderNewParams) MarshalJSON() (data []byte, err error)

type IdentityProviderNewResponseEnvelope

type IdentityProviderNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success IdentityProviderNewResponseEnvelopeSuccess `json:"success,required"`
	Result  IdentityProvider                           `json:"result"`
	JSON    identityProviderNewResponseEnvelopeJSON    `json:"-"`
}

func (*IdentityProviderNewResponseEnvelope) UnmarshalJSON

func (r *IdentityProviderNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type IdentityProviderNewResponseEnvelopeSuccess

type IdentityProviderNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	IdentityProviderNewResponseEnvelopeSuccessTrue IdentityProviderNewResponseEnvelopeSuccess = true
)

func (IdentityProviderNewResponseEnvelopeSuccess) IsKnown

type IdentityProviderParam

type IdentityProviderParam struct {
	Config param.Field[interface{}] `json:"config"`
	// UUID
	ID param.Field[string] `json:"id"`
	// The name of the identity provider, shown to users on the login page.
	Name param.Field[string] `json:"name,required"`
	// The configuration settings for enabling a System for Cross-Domain Identity
	// Management (SCIM) with the identity provider.
	SCIMConfig param.Field[IdentityProviderSCIMConfigParam] `json:"scim_config"`
	// The type of identity provider. To determine the value for a specific provider,
	// refer to our
	// [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
	Type param.Field[IdentityProviderType] `json:"type,required"`
}

func (IdentityProviderParam) MarshalJSON

func (r IdentityProviderParam) MarshalJSON() (data []byte, err error)

type IdentityProviderSCIMConfig

type IdentityProviderSCIMConfig struct {
	// A flag to enable or disable SCIM for the identity provider.
	Enabled bool `json:"enabled"`
	// A flag to revoke a user's session in Access and force a reauthentication on the
	// user's Gateway session when they have been added or removed from a group in the
	// Identity Provider.
	GroupMemberDeprovision bool `json:"group_member_deprovision"`
	// A flag to remove a user's seat in Zero Trust when they have been deprovisioned
	// in the Identity Provider. This cannot be enabled unless user_deprovision is also
	// enabled.
	SeatDeprovision bool `json:"seat_deprovision"`
	// A read-only token generated when the SCIM integration is enabled for the first
	// time. It is redacted on subsequent requests. If you lose this you will need to
	// refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
	Secret string `json:"secret"`
	// A flag to enable revoking a user's session in Access and Gateway when they have
	// been deprovisioned in the Identity Provider.
	UserDeprovision bool                           `json:"user_deprovision"`
	JSON            identityProviderSCIMConfigJSON `json:"-"`
}

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

func (*IdentityProviderSCIMConfig) UnmarshalJSON

func (r *IdentityProviderSCIMConfig) UnmarshalJSON(data []byte) (err error)

type IdentityProviderSCIMConfigParam

type IdentityProviderSCIMConfigParam struct {
	// A flag to enable or disable SCIM for the identity provider.
	Enabled param.Field[bool] `json:"enabled"`
	// A flag to revoke a user's session in Access and force a reauthentication on the
	// user's Gateway session when they have been added or removed from a group in the
	// Identity Provider.
	GroupMemberDeprovision param.Field[bool] `json:"group_member_deprovision"`
	// A flag to remove a user's seat in Zero Trust when they have been deprovisioned
	// in the Identity Provider. This cannot be enabled unless user_deprovision is also
	// enabled.
	SeatDeprovision param.Field[bool] `json:"seat_deprovision"`
	// A read-only token generated when the SCIM integration is enabled for the first
	// time. It is redacted on subsequent requests. If you lose this you will need to
	// refresh it token at /access/identity_providers/:idpID/refresh_scim_secret.
	Secret param.Field[string] `json:"secret"`
	// A flag to enable revoking a user's session in Access and Gateway when they have
	// been deprovisioned in the Identity Provider.
	UserDeprovision param.Field[bool] `json:"user_deprovision"`
}

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

func (IdentityProviderSCIMConfigParam) MarshalJSON

func (r IdentityProviderSCIMConfigParam) MarshalJSON() (data []byte, err error)

type IdentityProviderService

type IdentityProviderService struct {
	Options []option.RequestOption
}

IdentityProviderService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewIdentityProviderService method instead.

func NewIdentityProviderService

func NewIdentityProviderService(opts ...option.RequestOption) (r *IdentityProviderService)

NewIdentityProviderService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*IdentityProviderService) Delete

func (r *IdentityProviderService) Delete(ctx context.Context, accountOrZone string, accountOrZoneID string, identityProviderID string, opts ...option.RequestOption) (res *IdentityProviderDeleteResponse, err error)

Deletes an identity provider from Access.

func (*IdentityProviderService) Get

func (r *IdentityProviderService) Get(ctx context.Context, accountOrZone string, accountOrZoneID string, identityProviderID string, opts ...option.RequestOption) (res *IdentityProvider, err error)

Fetches a configured identity provider.

func (*IdentityProviderService) List

func (r *IdentityProviderService) List(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) (res *pagination.SinglePage[IdentityProviderListResponse], err error)

Lists all configured identity providers.

func (*IdentityProviderService) ListAutoPaging

func (r *IdentityProviderService) ListAutoPaging(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) *pagination.SinglePageAutoPager[IdentityProviderListResponse]

Lists all configured identity providers.

func (*IdentityProviderService) New

func (r *IdentityProviderService) New(ctx context.Context, accountOrZone string, accountOrZoneID string, body IdentityProviderNewParams, opts ...option.RequestOption) (res *IdentityProvider, err error)

Adds a new identity provider to Access.

func (*IdentityProviderService) Update

func (r *IdentityProviderService) Update(ctx context.Context, accountOrZone string, accountOrZoneID string, identityProviderID string, body IdentityProviderUpdateParams, opts ...option.RequestOption) (res *IdentityProvider, err error)

Updates a configured identity provider.

type IdentityProviderType

type IdentityProviderType string

The type of identity provider. To determine the value for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).

const (
	IdentityProviderTypeOnetimepin IdentityProviderType = "onetimepin"
	IdentityProviderTypeAzureAD    IdentityProviderType = "azureAD"
	IdentityProviderTypeSAML       IdentityProviderType = "saml"
	IdentityProviderTypeCentrify   IdentityProviderType = "centrify"
	IdentityProviderTypeFacebook   IdentityProviderType = "facebook"
	IdentityProviderTypeGitHub     IdentityProviderType = "github"
	IdentityProviderTypeGoogleApps IdentityProviderType = "google-apps"
	IdentityProviderTypeGoogle     IdentityProviderType = "google"
	IdentityProviderTypeLinkedin   IdentityProviderType = "linkedin"
	IdentityProviderTypeOIDC       IdentityProviderType = "oidc"
	IdentityProviderTypeOkta       IdentityProviderType = "okta"
	IdentityProviderTypeOnelogin   IdentityProviderType = "onelogin"
	IdentityProviderTypePingone    IdentityProviderType = "pingone"
	IdentityProviderTypeYandex     IdentityProviderType = "yandex"
)

func (IdentityProviderType) IsKnown

func (r IdentityProviderType) IsKnown() bool

type IdentityProviderUpdateParams

type IdentityProviderUpdateParams struct {
	IdentityProvider IdentityProviderUnionParam `json:"identity_provider,required"`
}

func (IdentityProviderUpdateParams) MarshalJSON

func (r IdentityProviderUpdateParams) MarshalJSON() (data []byte, err error)

type IdentityProviderUpdateResponseEnvelope

type IdentityProviderUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success IdentityProviderUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  IdentityProvider                              `json:"result"`
	JSON    identityProviderUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*IdentityProviderUpdateResponseEnvelope) UnmarshalJSON

func (r *IdentityProviderUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type IdentityProviderUpdateResponseEnvelopeSuccess

type IdentityProviderUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	IdentityProviderUpdateResponseEnvelopeSuccessTrue IdentityProviderUpdateResponseEnvelopeSuccess = true
)

func (IdentityProviderUpdateResponseEnvelopeSuccess) IsKnown

type Integration

type Integration struct {
	// API UUID.
	ID string `json:"id"`
	// The configuration object containing third-party integration information.
	Config IntegrationConfig `json:"config"`
	// The interval between each posture check with the third-party API. Use `m` for
	// minutes (e.g. `5m`) and `h` for hours (e.g. `12h`).
	Interval string `json:"interval"`
	// The name of the device posture integration.
	Name string `json:"name"`
	// The type of device posture integration.
	Type IntegrationType `json:"type"`
	JSON integrationJSON `json:"-"`
}

func (*Integration) UnmarshalJSON

func (r *Integration) UnmarshalJSON(data []byte) (err error)

type IntegrationConfig

type IntegrationConfig struct {
	// The Workspace One API URL provided in the Workspace One Admin Dashboard.
	APIURL string `json:"api_url,required"`
	// The Workspace One Authorization URL depending on your region.
	AuthURL string `json:"auth_url,required"`
	// The Workspace One client ID provided in the Workspace One Admin Dashboard.
	ClientID string                `json:"client_id,required"`
	JSON     integrationConfigJSON `json:"-"`
}

The configuration object containing third-party integration information.

func (*IntegrationConfig) UnmarshalJSON

func (r *IntegrationConfig) UnmarshalJSON(data []byte) (err error)

type IntegrationType

type IntegrationType string

The type of device posture integration.

const (
	IntegrationTypeWorkspaceOne   IntegrationType = "workspace_one"
	IntegrationTypeCrowdstrikeS2s IntegrationType = "crowdstrike_s2s"
	IntegrationTypeUptycs         IntegrationType = "uptycs"
	IntegrationTypeIntune         IntegrationType = "intune"
	IntegrationTypeKolide         IntegrationType = "kolide"
	IntegrationTypeTanium         IntegrationType = "tanium"
	IntegrationTypeSentineloneS2s IntegrationType = "sentinelone_s2s"
)

func (IntegrationType) IsKnown

func (r IntegrationType) IsKnown() bool

type IntuneInput

type IntuneInput struct {
	// Compliance Status
	ComplianceStatus IntuneInputComplianceStatus `json:"compliance_status,required"`
	// Posture Integration ID.
	ConnectionID string          `json:"connection_id,required"`
	JSON         intuneInputJSON `json:"-"`
}

func (*IntuneInput) UnmarshalJSON

func (r *IntuneInput) UnmarshalJSON(data []byte) (err error)

type IntuneInputComplianceStatus

type IntuneInputComplianceStatus string

Compliance Status

const (
	IntuneInputComplianceStatusCompliant     IntuneInputComplianceStatus = "compliant"
	IntuneInputComplianceStatusNoncompliant  IntuneInputComplianceStatus = "noncompliant"
	IntuneInputComplianceStatusUnknown       IntuneInputComplianceStatus = "unknown"
	IntuneInputComplianceStatusNotapplicable IntuneInputComplianceStatus = "notapplicable"
	IntuneInputComplianceStatusIngraceperiod IntuneInputComplianceStatus = "ingraceperiod"
	IntuneInputComplianceStatusError         IntuneInputComplianceStatus = "error"
)

func (IntuneInputComplianceStatus) IsKnown

func (r IntuneInputComplianceStatus) IsKnown() bool

type IntuneInputParam

type IntuneInputParam struct {
	// Compliance Status
	ComplianceStatus param.Field[IntuneInputComplianceStatus] `json:"compliance_status,required"`
	// Posture Integration ID.
	ConnectionID param.Field[string] `json:"connection_id,required"`
}

func (IntuneInputParam) MarshalJSON

func (r IntuneInputParam) MarshalJSON() (data []byte, err error)

type KolideInput

type KolideInput struct {
	// Posture Integration ID.
	ConnectionID string `json:"connection_id,required"`
	// Count Operator
	CountOperator KolideInputCountOperator `json:"countOperator,required"`
	// The Number of Issues.
	IssueCount string          `json:"issue_count,required"`
	JSON       kolideInputJSON `json:"-"`
}

func (*KolideInput) UnmarshalJSON

func (r *KolideInput) UnmarshalJSON(data []byte) (err error)

type KolideInputCountOperator

type KolideInputCountOperator string

Count Operator

const (
	KolideInputCountOperatorLess            KolideInputCountOperator = "<"
	KolideInputCountOperatorLessOrEquals    KolideInputCountOperator = "<="
	KolideInputCountOperatorGreater         KolideInputCountOperator = ">"
	KolideInputCountOperatorGreaterOrEquals KolideInputCountOperator = ">="
	KolideInputCountOperatorEquals          KolideInputCountOperator = "=="
)

func (KolideInputCountOperator) IsKnown

func (r KolideInputCountOperator) IsKnown() bool

type KolideInputParam

type KolideInputParam struct {
	// Posture Integration ID.
	ConnectionID param.Field[string] `json:"connection_id,required"`
	// Count Operator
	CountOperator param.Field[KolideInputCountOperator] `json:"countOperator,required"`
	// The Number of Issues.
	IssueCount param.Field[string] `json:"issue_count,required"`
}

func (KolideInputParam) MarshalJSON

func (r KolideInputParam) MarshalJSON() (data []byte, err error)

type LiveStat

type LiveStat struct {
	// Number of unique devices
	UniqueDevicesTotal float64      `json:"uniqueDevicesTotal"`
	Value              string       `json:"value"`
	JSON               liveStatJSON `json:"-"`
}

func (*LiveStat) UnmarshalJSON

func (r *LiveStat) UnmarshalJSON(data []byte) (err error)

type Location

type Location struct {
	ID string `json:"id"`
	// True if the location is the default location.
	ClientDefault bool      `json:"client_default"`
	CreatedAt     time.Time `json:"created_at" format:"date-time"`
	// The identifier of the pair of IPv4 addresses assigned to this location.
	DNSDestinationIPsID string `json:"dns_destination_ips_id"`
	// The DNS over HTTPS domain to send DNS requests to. This field is auto-generated
	// by Gateway.
	DOHSubdomain string `json:"doh_subdomain"`
	// True if the location needs to resolve EDNS queries.
	ECSSupport bool `json:"ecs_support"`
	// The destination endpoints configured for this location. When updating a
	// location, if this field is absent or set with null, the endpoints configuration
	// remains unchanged.
	Endpoints Endpoint `json:"endpoints"`
	// IPV6 destination ip assigned to this location. DNS requests sent to this IP will
	// counted as the request under this location. This field is auto-generated by
	// Gateway.
	IP string `json:"ip"`
	// The primary destination IPv4 address from the pair identified by the
	// dns_destination_ips_id. This field is read-only.
	IPV4Destination string `json:"ipv4_destination"`
	// The backup destination IPv4 address from the pair identified by the
	// dns_destination_ips_id. This field is read-only.
	IPV4DestinationBackup string `json:"ipv4_destination_backup"`
	// The name of the location.
	Name string `json:"name"`
	// A list of network ranges that requests from this location would originate from.
	// A non-empty list is only effective if the ipv4 endpoint is enabled for this
	// location.
	Networks  []LocationNetwork `json:"networks"`
	UpdatedAt time.Time         `json:"updated_at" format:"date-time"`
	JSON      locationJSON      `json:"-"`
}

func (*Location) UnmarshalJSON

func (r *Location) UnmarshalJSON(data []byte) (err error)

type LocationNetwork

type LocationNetwork struct {
	// The IPv4 address or IPv4 CIDR. IPv4 CIDRs are limited to a maximum of /24.
	Network string              `json:"network,required"`
	JSON    locationNetworkJSON `json:"-"`
}

func (*LocationNetwork) UnmarshalJSON

func (r *LocationNetwork) UnmarshalJSON(data []byte) (err error)

type LoggingSetting

type LoggingSetting struct {
	// Redact personally identifiable information from activity logging (PII fields
	// are: source IP, user email, user ID, device ID, URL, referrer, user agent).
	RedactPii bool `json:"redact_pii"`
	// Logging settings by rule type.
	SettingsByRuleType LoggingSettingSettingsByRuleType `json:"settings_by_rule_type"`
	JSON               loggingSettingJSON               `json:"-"`
}

func (*LoggingSetting) UnmarshalJSON

func (r *LoggingSetting) UnmarshalJSON(data []byte) (err error)

type LoggingSettingParam

type LoggingSettingParam struct {
	// Redact personally identifiable information from activity logging (PII fields
	// are: source IP, user email, user ID, device ID, URL, referrer, user agent).
	RedactPii param.Field[bool] `json:"redact_pii"`
	// Logging settings by rule type.
	SettingsByRuleType param.Field[LoggingSettingSettingsByRuleTypeParam] `json:"settings_by_rule_type"`
}

func (LoggingSettingParam) MarshalJSON

func (r LoggingSettingParam) MarshalJSON() (data []byte, err error)

type LoggingSettingSettingsByRuleType

type LoggingSettingSettingsByRuleType struct {
	// Logging settings for DNS firewall.
	DNS interface{} `json:"dns"`
	// Logging settings for HTTP/HTTPS firewall.
	HTTP interface{} `json:"http"`
	// Logging settings for Network firewall.
	L4   interface{}                          `json:"l4"`
	JSON loggingSettingSettingsByRuleTypeJSON `json:"-"`
}

Logging settings by rule type.

func (*LoggingSettingSettingsByRuleType) UnmarshalJSON

func (r *LoggingSettingSettingsByRuleType) UnmarshalJSON(data []byte) (err error)

type LoggingSettingSettingsByRuleTypeParam

type LoggingSettingSettingsByRuleTypeParam struct {
	// Logging settings for DNS firewall.
	DNS param.Field[interface{}] `json:"dns"`
	// Logging settings for HTTP/HTTPS firewall.
	HTTP param.Field[interface{}] `json:"http"`
	// Logging settings for Network firewall.
	L4 param.Field[interface{}] `json:"l4"`
}

Logging settings by rule type.

func (LoggingSettingSettingsByRuleTypeParam) MarshalJSON

func (r LoggingSettingSettingsByRuleTypeParam) MarshalJSON() (data []byte, err error)

type LoginDesign

type LoginDesign struct {
	// The background color on your login page.
	BackgroundColor string `json:"background_color"`
	// The text at the bottom of your login page.
	FooterText string `json:"footer_text"`
	// The text at the top of your login page.
	HeaderText string `json:"header_text"`
	// The URL of the logo on your login page.
	LogoPath string `json:"logo_path"`
	// The text color on your login page.
	TextColor string          `json:"text_color"`
	JSON      loginDesignJSON `json:"-"`
}

func (*LoginDesign) UnmarshalJSON

func (r *LoginDesign) UnmarshalJSON(data []byte) (err error)

type LoginDesignParam

type LoginDesignParam struct {
	// The background color on your login page.
	BackgroundColor param.Field[string] `json:"background_color"`
	// The text at the bottom of your login page.
	FooterText param.Field[string] `json:"footer_text"`
	// The text at the top of your login page.
	HeaderText param.Field[string] `json:"header_text"`
	// The URL of the logo on your login page.
	LogoPath param.Field[string] `json:"logo_path"`
	// The text color on your login page.
	TextColor param.Field[string] `json:"text_color"`
}

func (LoginDesignParam) MarshalJSON

func (r LoginDesignParam) MarshalJSON() (data []byte, err error)

type MemberParam

type MemberParam = shared.MemberParam

This is an alias to an internal type.

type MemberRoleParam

type MemberRoleParam = shared.MemberRoleParam

This is an alias to an internal type.

type MemberRolesPermissionsParam

type MemberRolesPermissionsParam = shared.MemberRolesPermissionsParam

This is an alias to an internal type.

type MemberStatus

type MemberStatus = shared.MemberStatus

A member's status in the account.

This is an alias to an internal type.

type MemberUserParam

type MemberUserParam = shared.MemberUserParam

Details of the user associated to the membership.

This is an alias to an internal type.

type NetworkPath

type NetworkPath struct {
	Slots []NetworkPathSlot `json:"slots,required"`
	// Specifies the sampling applied, if any, to the slots response. When sampled,
	// results shown represent the first test run to the start of each sampling
	// interval.
	Sampling NetworkPathSampling `json:"sampling,nullable"`
	JSON     networkPathJSON     `json:"-"`
}

func (*NetworkPath) UnmarshalJSON

func (r *NetworkPath) UnmarshalJSON(data []byte) (err error)

type NetworkPathResponse

type NetworkPathResponse struct {
	// API Resource UUID tag.
	ID         string `json:"id,required"`
	DeviceName string `json:"deviceName"`
	// The interval at which the Traceroute synthetic application test is set to run.
	Interval    string                  `json:"interval"`
	Kind        NetworkPathResponseKind `json:"kind"`
	Name        string                  `json:"name"`
	NetworkPath NetworkPath             `json:"networkPath,nullable"`
	// The host of the Traceroute synthetic application test
	URL  string                  `json:"url"`
	JSON networkPathResponseJSON `json:"-"`
}

func (*NetworkPathResponse) UnmarshalJSON

func (r *NetworkPathResponse) UnmarshalJSON(data []byte) (err error)

type NetworkPathResponseKind

type NetworkPathResponseKind string
const (
	NetworkPathResponseKindTraceroute NetworkPathResponseKind = "traceroute"
)

func (NetworkPathResponseKind) IsKnown

func (r NetworkPathResponseKind) IsKnown() bool

type NetworkPathSampling

type NetworkPathSampling struct {
	Unit  NetworkPathSamplingUnit `json:"unit,required"`
	Value int64                   `json:"value,required"`
	JSON  networkPathSamplingJSON `json:"-"`
}

Specifies the sampling applied, if any, to the slots response. When sampled, results shown represent the first test run to the start of each sampling interval.

func (*NetworkPathSampling) UnmarshalJSON

func (r *NetworkPathSampling) UnmarshalJSON(data []byte) (err error)

type NetworkPathSamplingUnit

type NetworkPathSamplingUnit string
const (
	NetworkPathSamplingUnitHours NetworkPathSamplingUnit = "hours"
)

func (NetworkPathSamplingUnit) IsKnown

func (r NetworkPathSamplingUnit) IsKnown() bool

type NetworkPathSlot

type NetworkPathSlot struct {
	// API Resource UUID tag.
	ID string `json:"id,required"`
	// Round trip time in ms of the client to app mile
	ClientToAppRTTMs int64 `json:"clientToAppRttMs,required,nullable"`
	// Round trip time in ms of the client to Cloudflare egress mile
	ClientToCfEgressRTTMs int64 `json:"clientToCfEgressRttMs,required,nullable"`
	// Round trip time in ms of the client to Cloudflare ingress mile
	ClientToCfIngressRTTMs int64  `json:"clientToCfIngressRttMs,required,nullable"`
	Timestamp              string `json:"timestamp,required"`
	// Round trip time in ms of the client to ISP mile
	ClientToISPRTTMs int64               `json:"clientToIspRttMs,nullable"`
	JSON             networkPathSlotJSON `json:"-"`
}

func (*NetworkPathSlot) UnmarshalJSON

func (r *NetworkPathSlot) UnmarshalJSON(data []byte) (err error)

type NetworkRouteDeleteResponseEnvelope

type NetworkRouteDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Route                 `json:"result,required"`
	// Whether the API call was successful
	Success NetworkRouteDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkRouteDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkRouteDeleteResponseEnvelope) UnmarshalJSON

func (r *NetworkRouteDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkRouteDeleteResponseEnvelopeSuccess

type NetworkRouteDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkRouteDeleteResponseEnvelopeSuccessTrue NetworkRouteDeleteResponseEnvelopeSuccess = true
)

func (NetworkRouteDeleteResponseEnvelopeSuccess) IsKnown

type NetworkRouteEditParams

type NetworkRouteEditParams struct {
	// Optional remark describing the route.
	Comment param.Field[string] `json:"comment"`
	// The private IPv4 or IPv6 range connected by the route, in CIDR notation.
	Network param.Field[string] `json:"network"`
	// UUID of the tunnel.
	TunnelID param.Field[string] `json:"tunnel_id" format:"uuid"`
	// UUID of the virtual network.
	VirtualNetworkID param.Field[string] `json:"virtual_network_id" format:"uuid"`
}

func (NetworkRouteEditParams) MarshalJSON

func (r NetworkRouteEditParams) MarshalJSON() (data []byte, err error)

type NetworkRouteEditResponseEnvelope

type NetworkRouteEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Route                 `json:"result,required"`
	// Whether the API call was successful
	Success NetworkRouteEditResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkRouteEditResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkRouteEditResponseEnvelope) UnmarshalJSON

func (r *NetworkRouteEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkRouteEditResponseEnvelopeSuccess

type NetworkRouteEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkRouteEditResponseEnvelopeSuccessTrue NetworkRouteEditResponseEnvelopeSuccess = true
)

func (NetworkRouteEditResponseEnvelopeSuccess) IsKnown

type NetworkRouteIPGetParams

type NetworkRouteIPGetParams struct {
	// UUID of the virtual network.
	VirtualNetworkID param.Field[string] `query:"virtual_network_id" format:"uuid"`
}

func (NetworkRouteIPGetParams) URLQuery

func (r NetworkRouteIPGetParams) URLQuery() (v url.Values)

URLQuery serializes NetworkRouteIPGetParams's query parameters as `url.Values`.

type NetworkRouteIPGetResponseEnvelope

type NetworkRouteIPGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Teamnet               `json:"result,required"`
	// Whether the API call was successful
	Success NetworkRouteIPGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkRouteIPGetResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkRouteIPGetResponseEnvelope) UnmarshalJSON

func (r *NetworkRouteIPGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkRouteIPGetResponseEnvelopeSuccess

type NetworkRouteIPGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkRouteIPGetResponseEnvelopeSuccessTrue NetworkRouteIPGetResponseEnvelopeSuccess = true
)

func (NetworkRouteIPGetResponseEnvelopeSuccess) IsKnown

type NetworkRouteIPService

type NetworkRouteIPService struct {
	Options []option.RequestOption
}

NetworkRouteIPService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewNetworkRouteIPService method instead.

func NewNetworkRouteIPService

func NewNetworkRouteIPService(opts ...option.RequestOption) (r *NetworkRouteIPService)

NewNetworkRouteIPService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*NetworkRouteIPService) Get

func (r *NetworkRouteIPService) Get(ctx context.Context, accountID string, ip string, query NetworkRouteIPGetParams, opts ...option.RequestOption) (res *Teamnet, err error)

Fetches routes that contain the given IP address.

type NetworkRouteListParams

type NetworkRouteListParams struct {
	// Optional remark describing the route.
	Comment param.Field[string] `query:"comment"`
	// If provided, include only tunnels that were created (and not deleted) before
	// this time.
	ExistedAt param.Field[time.Time] `query:"existed_at" format:"date-time"`
	// If `true`, only include deleted routes. If `false`, exclude deleted routes. If
	// empty, all routes will be included.
	IsDeleted param.Field[bool] `query:"is_deleted"`
	// If set, only list routes that are contained within this IP range.
	NetworkSubset param.Field[string] `query:"network_subset"`
	// If set, only list routes that contain this IP range.
	NetworkSuperset param.Field[string] `query:"network_superset"`
	// Page number of paginated results.
	Page param.Field[float64] `query:"page"`
	// Number of results to display.
	PerPage param.Field[float64] `query:"per_page"`
	// UUID of the route.
	RouteID param.Field[string] `query:"route_id"`
	// The types of tunnels to filter separated by a comma.
	TunTypes param.Field[string] `query:"tun_types"`
	// UUID of the tunnel.
	TunnelID param.Field[string] `query:"tunnel_id" format:"uuid"`
	// UUID of the virtual network.
	VirtualNetworkID param.Field[string] `query:"virtual_network_id" format:"uuid"`
}

func (NetworkRouteListParams) URLQuery

func (r NetworkRouteListParams) URLQuery() (v url.Values)

URLQuery serializes NetworkRouteListParams's query parameters as `url.Values`.

type NetworkRouteNetworkDeleteParams

type NetworkRouteNetworkDeleteParams struct {
	// The type of tunnel.
	TunType param.Field[NetworkRouteNetworkDeleteParamsTunType] `query:"tun_type"`
	// UUID of the tunnel.
	TunnelID param.Field[string] `query:"tunnel_id" format:"uuid"`
	// UUID of the virtual network.
	VirtualNetworkID param.Field[string] `query:"virtual_network_id" format:"uuid"`
}

func (NetworkRouteNetworkDeleteParams) URLQuery

func (r NetworkRouteNetworkDeleteParams) URLQuery() (v url.Values)

URLQuery serializes NetworkRouteNetworkDeleteParams's query parameters as `url.Values`.

type NetworkRouteNetworkDeleteParamsTunType

type NetworkRouteNetworkDeleteParamsTunType string

The type of tunnel.

const (
	NetworkRouteNetworkDeleteParamsTunTypeCfdTunnel     NetworkRouteNetworkDeleteParamsTunType = "cfd_tunnel"
	NetworkRouteNetworkDeleteParamsTunTypeWARPConnector NetworkRouteNetworkDeleteParamsTunType = "warp_connector"
	NetworkRouteNetworkDeleteParamsTunTypeIPSec         NetworkRouteNetworkDeleteParamsTunType = "ip_sec"
	NetworkRouteNetworkDeleteParamsTunTypeGRE           NetworkRouteNetworkDeleteParamsTunType = "gre"
	NetworkRouteNetworkDeleteParamsTunTypeCNI           NetworkRouteNetworkDeleteParamsTunType = "cni"
)

func (NetworkRouteNetworkDeleteParamsTunType) IsKnown

type NetworkRouteNetworkDeleteResponseEnvelope

type NetworkRouteNetworkDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Route                 `json:"result,required"`
	// Whether the API call was successful
	Success NetworkRouteNetworkDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkRouteNetworkDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkRouteNetworkDeleteResponseEnvelope) UnmarshalJSON

func (r *NetworkRouteNetworkDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkRouteNetworkDeleteResponseEnvelopeSuccess

type NetworkRouteNetworkDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkRouteNetworkDeleteResponseEnvelopeSuccessTrue NetworkRouteNetworkDeleteResponseEnvelopeSuccess = true
)

func (NetworkRouteNetworkDeleteResponseEnvelopeSuccess) IsKnown

type NetworkRouteNetworkEditResponseEnvelope

type NetworkRouteNetworkEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Route                 `json:"result,required"`
	// Whether the API call was successful
	Success NetworkRouteNetworkEditResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkRouteNetworkEditResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkRouteNetworkEditResponseEnvelope) UnmarshalJSON

func (r *NetworkRouteNetworkEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkRouteNetworkEditResponseEnvelopeSuccess

type NetworkRouteNetworkEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkRouteNetworkEditResponseEnvelopeSuccessTrue NetworkRouteNetworkEditResponseEnvelopeSuccess = true
)

func (NetworkRouteNetworkEditResponseEnvelopeSuccess) IsKnown

type NetworkRouteNetworkNewParams

type NetworkRouteNetworkNewParams struct {
	// UUID of the tunnel.
	TunnelID param.Field[string] `json:"tunnel_id,required" format:"uuid"`
	// Optional remark describing the route.
	Comment param.Field[string] `json:"comment"`
	// UUID of the virtual network.
	VirtualNetworkID param.Field[string] `json:"virtual_network_id" format:"uuid"`
}

func (NetworkRouteNetworkNewParams) MarshalJSON

func (r NetworkRouteNetworkNewParams) MarshalJSON() (data []byte, err error)

type NetworkRouteNetworkNewResponseEnvelope

type NetworkRouteNetworkNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Route                 `json:"result,required"`
	// Whether the API call was successful
	Success NetworkRouteNetworkNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkRouteNetworkNewResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkRouteNetworkNewResponseEnvelope) UnmarshalJSON

func (r *NetworkRouteNetworkNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkRouteNetworkNewResponseEnvelopeSuccess

type NetworkRouteNetworkNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkRouteNetworkNewResponseEnvelopeSuccessTrue NetworkRouteNetworkNewResponseEnvelopeSuccess = true
)

func (NetworkRouteNetworkNewResponseEnvelopeSuccess) IsKnown

type NetworkRouteNetworkService

type NetworkRouteNetworkService struct {
	Options []option.RequestOption
}

NetworkRouteNetworkService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewNetworkRouteNetworkService method instead.

func NewNetworkRouteNetworkService

func NewNetworkRouteNetworkService(opts ...option.RequestOption) (r *NetworkRouteNetworkService)

NewNetworkRouteNetworkService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*NetworkRouteNetworkService) Delete

func (r *NetworkRouteNetworkService) Delete(ctx context.Context, accountID string, ipNetworkEncoded string, body NetworkRouteNetworkDeleteParams, opts ...option.RequestOption) (res *Route, err error)

Deletes a private network route from an account. The CIDR in `ip_network_encoded` must be written in URL-encoded format. If no virtual_network_id is provided it will delete the route from the default vnet. If no tun_type is provided it will fetch the type from the tunnel_id or if that is missing it will assume Cloudflare Tunnel as default. If tunnel_id is provided it will delete the route from that tunnel, otherwise it will delete the route based on the vnet and tun_type.

func (*NetworkRouteNetworkService) Edit

func (r *NetworkRouteNetworkService) Edit(ctx context.Context, accountID string, ipNetworkEncoded string, opts ...option.RequestOption) (res *Route, err error)

Updates an existing private network route in an account. The CIDR in `ip_network_encoded` must be written in URL-encoded format.

func (*NetworkRouteNetworkService) New

func (r *NetworkRouteNetworkService) New(ctx context.Context, accountID string, ipNetworkEncoded string, body NetworkRouteNetworkNewParams, opts ...option.RequestOption) (res *Route, err error)

Routes a private network through a Cloudflare Tunnel. The CIDR in `ip_network_encoded` must be written in URL-encoded format.

type NetworkRouteNewParams

type NetworkRouteNewParams struct {
	// The private IPv4 or IPv6 range connected by the route, in CIDR notation.
	Network param.Field[string] `json:"network,required"`
	// UUID of the tunnel.
	TunnelID param.Field[string] `json:"tunnel_id,required" format:"uuid"`
	// Optional remark describing the route.
	Comment param.Field[string] `json:"comment"`
	// UUID of the virtual network.
	VirtualNetworkID param.Field[string] `json:"virtual_network_id" format:"uuid"`
}

func (NetworkRouteNewParams) MarshalJSON

func (r NetworkRouteNewParams) MarshalJSON() (data []byte, err error)

type NetworkRouteNewResponseEnvelope

type NetworkRouteNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   Route                 `json:"result,required"`
	// Whether the API call was successful
	Success NetworkRouteNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkRouteNewResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkRouteNewResponseEnvelope) UnmarshalJSON

func (r *NetworkRouteNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkRouteNewResponseEnvelopeSuccess

type NetworkRouteNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkRouteNewResponseEnvelopeSuccessTrue NetworkRouteNewResponseEnvelopeSuccess = true
)

func (NetworkRouteNewResponseEnvelopeSuccess) IsKnown

type NetworkRouteService

type NetworkRouteService struct {
	Options  []option.RequestOption
	IPs      *NetworkRouteIPService
	Networks *NetworkRouteNetworkService
}

NetworkRouteService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewNetworkRouteService method instead.

func NewNetworkRouteService

func NewNetworkRouteService(opts ...option.RequestOption) (r *NetworkRouteService)

NewNetworkRouteService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*NetworkRouteService) Delete

func (r *NetworkRouteService) Delete(ctx context.Context, accountID string, routeID string, opts ...option.RequestOption) (res *Route, err error)

Deletes a private network route from an account.

func (*NetworkRouteService) Edit

func (r *NetworkRouteService) Edit(ctx context.Context, accountID string, routeID string, body NetworkRouteEditParams, opts ...option.RequestOption) (res *Route, err error)

Updates an existing private network route in an account. The fields that are meant to be updated should be provided in the body of the request.

func (*NetworkRouteService) List

Lists and filters private network routes in an account.

func (*NetworkRouteService) ListAutoPaging

Lists and filters private network routes in an account.

func (*NetworkRouteService) New

func (r *NetworkRouteService) New(ctx context.Context, accountID string, body NetworkRouteNewParams, opts ...option.RequestOption) (res *Route, err error)

Routes a private network through a Cloudflare Tunnel.

type NetworkService

type NetworkService struct {
	Options         []option.RequestOption
	Routes          *NetworkRouteService
	VirtualNetworks *NetworkVirtualNetworkService
}

NetworkService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewNetworkService method instead.

func NewNetworkService

func NewNetworkService(opts ...option.RequestOption) (r *NetworkService)

NewNetworkService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

type NetworkVirtualNetworkDeleteResponseArray

type NetworkVirtualNetworkDeleteResponseArray []interface{}

func (NetworkVirtualNetworkDeleteResponseArray) ImplementsZeroTrustNetworkVirtualNetworkDeleteResponseUnion

func (r NetworkVirtualNetworkDeleteResponseArray) ImplementsZeroTrustNetworkVirtualNetworkDeleteResponseUnion()

type NetworkVirtualNetworkDeleteResponseEnvelope

type NetworkVirtualNetworkDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo                    `json:"errors,required"`
	Messages []shared.ResponseInfo                    `json:"messages,required"`
	Result   NetworkVirtualNetworkDeleteResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success NetworkVirtualNetworkDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkVirtualNetworkDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkVirtualNetworkDeleteResponseEnvelope) UnmarshalJSON

func (r *NetworkVirtualNetworkDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkVirtualNetworkDeleteResponseEnvelopeSuccess

type NetworkVirtualNetworkDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkVirtualNetworkDeleteResponseEnvelopeSuccessTrue NetworkVirtualNetworkDeleteResponseEnvelopeSuccess = true
)

func (NetworkVirtualNetworkDeleteResponseEnvelopeSuccess) IsKnown

type NetworkVirtualNetworkDeleteResponseUnion

type NetworkVirtualNetworkDeleteResponseUnion interface {
	ImplementsZeroTrustNetworkVirtualNetworkDeleteResponseUnion()
}

Union satisfied by zero_trust.NetworkVirtualNetworkDeleteResponseUnknown, zero_trust.NetworkVirtualNetworkDeleteResponseArray or shared.UnionString.

type NetworkVirtualNetworkEditParams

type NetworkVirtualNetworkEditParams struct {
	// Optional remark describing the virtual network.
	Comment param.Field[string] `json:"comment"`
	// If `true`, this virtual network is the default for the account.
	IsDefaultNetwork param.Field[bool] `json:"is_default_network"`
	// A user-friendly name for the virtual network.
	Name param.Field[string] `json:"name"`
}

func (NetworkVirtualNetworkEditParams) MarshalJSON

func (r NetworkVirtualNetworkEditParams) MarshalJSON() (data []byte, err error)

type NetworkVirtualNetworkEditResponseArray

type NetworkVirtualNetworkEditResponseArray []interface{}

func (NetworkVirtualNetworkEditResponseArray) ImplementsZeroTrustNetworkVirtualNetworkEditResponseUnion

func (r NetworkVirtualNetworkEditResponseArray) ImplementsZeroTrustNetworkVirtualNetworkEditResponseUnion()

type NetworkVirtualNetworkEditResponseEnvelope

type NetworkVirtualNetworkEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo                  `json:"errors,required"`
	Messages []shared.ResponseInfo                  `json:"messages,required"`
	Result   NetworkVirtualNetworkEditResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success NetworkVirtualNetworkEditResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkVirtualNetworkEditResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkVirtualNetworkEditResponseEnvelope) UnmarshalJSON

func (r *NetworkVirtualNetworkEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkVirtualNetworkEditResponseEnvelopeSuccess

type NetworkVirtualNetworkEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkVirtualNetworkEditResponseEnvelopeSuccessTrue NetworkVirtualNetworkEditResponseEnvelopeSuccess = true
)

func (NetworkVirtualNetworkEditResponseEnvelopeSuccess) IsKnown

type NetworkVirtualNetworkEditResponseUnion

type NetworkVirtualNetworkEditResponseUnion interface {
	ImplementsZeroTrustNetworkVirtualNetworkEditResponseUnion()
}

Union satisfied by zero_trust.NetworkVirtualNetworkEditResponseUnknown, zero_trust.NetworkVirtualNetworkEditResponseArray or shared.UnionString.

type NetworkVirtualNetworkListParams

type NetworkVirtualNetworkListParams struct {
	// UUID of the virtual network.
	ID param.Field[string] `query:"id" format:"uuid"`
	// If `true`, only include the default virtual network. If `false`, exclude the
	// default virtual network. If empty, all virtual networks will be included.
	IsDefault param.Field[bool] `query:"is_default"`
	// If `true`, only include deleted virtual networks. If `false`, exclude deleted
	// virtual networks. If empty, all virtual networks will be included.
	IsDeleted param.Field[bool] `query:"is_deleted"`
	// A user-friendly name for the virtual network.
	Name param.Field[string] `query:"name"`
}

func (NetworkVirtualNetworkListParams) URLQuery

func (r NetworkVirtualNetworkListParams) URLQuery() (v url.Values)

URLQuery serializes NetworkVirtualNetworkListParams's query parameters as `url.Values`.

type NetworkVirtualNetworkNewParams

type NetworkVirtualNetworkNewParams struct {
	// A user-friendly name for the virtual network.
	Name param.Field[string] `json:"name,required"`
	// Optional remark describing the virtual network.
	Comment param.Field[string] `json:"comment"`
	// If `true`, this virtual network is the default for the account.
	IsDefault param.Field[bool] `json:"is_default"`
}

func (NetworkVirtualNetworkNewParams) MarshalJSON

func (r NetworkVirtualNetworkNewParams) MarshalJSON() (data []byte, err error)

type NetworkVirtualNetworkNewResponseArray

type NetworkVirtualNetworkNewResponseArray []interface{}

func (NetworkVirtualNetworkNewResponseArray) ImplementsZeroTrustNetworkVirtualNetworkNewResponseUnion

func (r NetworkVirtualNetworkNewResponseArray) ImplementsZeroTrustNetworkVirtualNetworkNewResponseUnion()

type NetworkVirtualNetworkNewResponseEnvelope

type NetworkVirtualNetworkNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo                 `json:"errors,required"`
	Messages []shared.ResponseInfo                 `json:"messages,required"`
	Result   NetworkVirtualNetworkNewResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success NetworkVirtualNetworkNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    networkVirtualNetworkNewResponseEnvelopeJSON    `json:"-"`
}

func (*NetworkVirtualNetworkNewResponseEnvelope) UnmarshalJSON

func (r *NetworkVirtualNetworkNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type NetworkVirtualNetworkNewResponseEnvelopeSuccess

type NetworkVirtualNetworkNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	NetworkVirtualNetworkNewResponseEnvelopeSuccessTrue NetworkVirtualNetworkNewResponseEnvelopeSuccess = true
)

func (NetworkVirtualNetworkNewResponseEnvelopeSuccess) IsKnown

type NetworkVirtualNetworkNewResponseUnion

type NetworkVirtualNetworkNewResponseUnion interface {
	ImplementsZeroTrustNetworkVirtualNetworkNewResponseUnion()
}

Union satisfied by zero_trust.NetworkVirtualNetworkNewResponseUnknown, zero_trust.NetworkVirtualNetworkNewResponseArray or shared.UnionString.

type NetworkVirtualNetworkService

type NetworkVirtualNetworkService struct {
	Options []option.RequestOption
}

NetworkVirtualNetworkService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewNetworkVirtualNetworkService method instead.

func NewNetworkVirtualNetworkService

func NewNetworkVirtualNetworkService(opts ...option.RequestOption) (r *NetworkVirtualNetworkService)

NewNetworkVirtualNetworkService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*NetworkVirtualNetworkService) Delete

func (r *NetworkVirtualNetworkService) Delete(ctx context.Context, accountID string, virtualNetworkID string, opts ...option.RequestOption) (res *NetworkVirtualNetworkDeleteResponseUnion, err error)

Deletes an existing virtual network.

func (*NetworkVirtualNetworkService) Edit

Updates an existing virtual network.

func (*NetworkVirtualNetworkService) List

Lists and filters virtual networks in an account.

func (*NetworkVirtualNetworkService) ListAutoPaging

Lists and filters virtual networks in an account.

func (*NetworkVirtualNetworkService) New

Adds a new virtual network to an account.

type NewVersion

type NewVersion struct {
	MaxCells int64          `json:"max_cells,required"`
	Version  int64          `json:"version,required"`
	Secret   string         `json:"secret" format:"password"`
	JSON     newVersionJSON `json:"-"`
}

func (*NewVersion) UnmarshalJSON

func (r *NewVersion) UnmarshalJSON(data []byte) (err error)

type NotificationSettings

type NotificationSettings struct {
	// Set notification on
	Enabled bool `json:"enabled"`
	// Customize the message shown in the notification.
	Msg string `json:"msg"`
	// Optional URL to direct users to additional information. If not set, the
	// notification will open a block page.
	SupportURL string                   `json:"support_url"`
	JSON       notificationSettingsJSON `json:"-"`
}

Configure a message to display on the user's device when an antivirus search is performed.

func (*NotificationSettings) UnmarshalJSON

func (r *NotificationSettings) UnmarshalJSON(data []byte) (err error)

type NotificationSettingsParam

type NotificationSettingsParam struct {
	// Set notification on
	Enabled param.Field[bool] `json:"enabled"`
	// Customize the message shown in the notification.
	Msg param.Field[string] `json:"msg"`
	// Optional URL to direct users to additional information. If not set, the
	// notification will open a block page.
	SupportURL param.Field[string] `json:"support_url"`
}

Configure a message to display on the user's device when an antivirus search is performed.

func (NotificationSettingsParam) MarshalJSON

func (r NotificationSettingsParam) MarshalJSON() (data []byte, err error)

type OIDCSaaSApp

type OIDCSaaSApp struct {
	// The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must
	// be greater than or equal to 1m and less than or equal to 24h.
	AccessTokenLifetime string `json:"access_token_lifetime"`
	// If client secret should be required on the token endpoint when
	// authorization_code_with_pkce grant is used.
	AllowPKCEWithoutClientSecret bool `json:"allow_pkce_without_client_secret"`
	// The URL where this applications tile redirects users
	AppLauncherURL string `json:"app_launcher_url"`
	// Identifier of the authentication protocol used for the saas app. Required for
	// OIDC.
	AuthType OIDCSaaSAppAuthType `json:"auth_type"`
	// The application client id
	ClientID string `json:"client_id"`
	// The application client secret, only returned on POST request.
	ClientSecret string                  `json:"client_secret"`
	CreatedAt    time.Time               `json:"created_at" format:"date-time"`
	CustomClaims OIDCSaaSAppCustomClaims `json:"custom_claims"`
	// The OIDC flows supported by this application
	GrantTypes []OIDCSaaSAppGrantType `json:"grant_types"`
	// A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
	GroupFilterRegex         string                              `json:"group_filter_regex"`
	HybridAndImplicitOptions OIDCSaaSAppHybridAndImplicitOptions `json:"hybrid_and_implicit_options"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey string `json:"public_key"`
	// The permitted URL's for Cloudflare to return Authorization codes and Access/ID
	// tokens
	RedirectURIs        []string                       `json:"redirect_uris"`
	RefreshTokenOptions OIDCSaaSAppRefreshTokenOptions `json:"refresh_token_options"`
	// Define the user information shared with access, "offline_access" scope will be
	// automatically enabled if refresh tokens are enabled
	Scopes    []OIDCSaaSAppScope `json:"scopes"`
	UpdatedAt time.Time          `json:"updated_at" format:"date-time"`
	JSON      oidcSaaSAppJSON    `json:"-"`
}

func (*OIDCSaaSApp) UnmarshalJSON

func (r *OIDCSaaSApp) UnmarshalJSON(data []byte) (err error)

type OIDCSaaSAppAuthType

type OIDCSaaSAppAuthType string

Identifier of the authentication protocol used for the saas app. Required for OIDC.

const (
	OIDCSaaSAppAuthTypeSAML OIDCSaaSAppAuthType = "saml"
	OIDCSaaSAppAuthTypeOIDC OIDCSaaSAppAuthType = "oidc"
)

func (OIDCSaaSAppAuthType) IsKnown

func (r OIDCSaaSAppAuthType) IsKnown() bool

type OIDCSaaSAppCustomClaims

type OIDCSaaSAppCustomClaims struct {
	// The name of the claim.
	Name string `json:"name"`
	// If the claim is required when building an OIDC token.
	Required bool `json:"required"`
	// The scope of the claim.
	Scope  OIDCSaaSAppCustomClaimsScope  `json:"scope"`
	Source OIDCSaaSAppCustomClaimsSource `json:"source"`
	JSON   oidcSaaSAppCustomClaimsJSON   `json:"-"`
}

func (*OIDCSaaSAppCustomClaims) UnmarshalJSON

func (r *OIDCSaaSAppCustomClaims) UnmarshalJSON(data []byte) (err error)

type OIDCSaaSAppCustomClaimsParam

type OIDCSaaSAppCustomClaimsParam struct {
	// The name of the claim.
	Name param.Field[string] `json:"name"`
	// If the claim is required when building an OIDC token.
	Required param.Field[bool] `json:"required"`
	// The scope of the claim.
	Scope  param.Field[OIDCSaaSAppCustomClaimsScope]       `json:"scope"`
	Source param.Field[OIDCSaaSAppCustomClaimsSourceParam] `json:"source"`
}

func (OIDCSaaSAppCustomClaimsParam) MarshalJSON

func (r OIDCSaaSAppCustomClaimsParam) MarshalJSON() (data []byte, err error)

type OIDCSaaSAppCustomClaimsScope

type OIDCSaaSAppCustomClaimsScope string

The scope of the claim.

const (
	OIDCSaaSAppCustomClaimsScopeGroups  OIDCSaaSAppCustomClaimsScope = "groups"
	OIDCSaaSAppCustomClaimsScopeProfile OIDCSaaSAppCustomClaimsScope = "profile"
	OIDCSaaSAppCustomClaimsScopeEmail   OIDCSaaSAppCustomClaimsScope = "email"
	OIDCSaaSAppCustomClaimsScopeOpenid  OIDCSaaSAppCustomClaimsScope = "openid"
)

func (OIDCSaaSAppCustomClaimsScope) IsKnown

func (r OIDCSaaSAppCustomClaimsScope) IsKnown() bool

type OIDCSaaSAppCustomClaimsSource

type OIDCSaaSAppCustomClaimsSource struct {
	// The name of the IdP claim.
	Name string `json:"name"`
	// A mapping from IdP ID to claim name.
	NameByIdP map[string]string                 `json:"name_by_idp"`
	JSON      oidcSaaSAppCustomClaimsSourceJSON `json:"-"`
}

func (*OIDCSaaSAppCustomClaimsSource) UnmarshalJSON

func (r *OIDCSaaSAppCustomClaimsSource) UnmarshalJSON(data []byte) (err error)

type OIDCSaaSAppCustomClaimsSourceParam

type OIDCSaaSAppCustomClaimsSourceParam struct {
	// The name of the IdP claim.
	Name param.Field[string] `json:"name"`
	// A mapping from IdP ID to claim name.
	NameByIdP param.Field[map[string]string] `json:"name_by_idp"`
}

func (OIDCSaaSAppCustomClaimsSourceParam) MarshalJSON

func (r OIDCSaaSAppCustomClaimsSourceParam) MarshalJSON() (data []byte, err error)

type OIDCSaaSAppGrantType

type OIDCSaaSAppGrantType string
const (
	OIDCSaaSAppGrantTypeAuthorizationCode         OIDCSaaSAppGrantType = "authorization_code"
	OIDCSaaSAppGrantTypeAuthorizationCodeWithPKCE OIDCSaaSAppGrantType = "authorization_code_with_pkce"
	OIDCSaaSAppGrantTypeRefreshTokens             OIDCSaaSAppGrantType = "refresh_tokens"
	OIDCSaaSAppGrantTypeHybrid                    OIDCSaaSAppGrantType = "hybrid"
	OIDCSaaSAppGrantTypeImplicit                  OIDCSaaSAppGrantType = "implicit"
)

func (OIDCSaaSAppGrantType) IsKnown

func (r OIDCSaaSAppGrantType) IsKnown() bool

type OIDCSaaSAppHybridAndImplicitOptions

type OIDCSaaSAppHybridAndImplicitOptions struct {
	// If an Access Token should be returned from the OIDC Authorization endpoint
	ReturnAccessTokenFromAuthorizationEndpoint bool `json:"return_access_token_from_authorization_endpoint"`
	// If an ID Token should be returned from the OIDC Authorization endpoint
	ReturnIDTokenFromAuthorizationEndpoint bool                                    `json:"return_id_token_from_authorization_endpoint"`
	JSON                                   oidcSaaSAppHybridAndImplicitOptionsJSON `json:"-"`
}

func (*OIDCSaaSAppHybridAndImplicitOptions) UnmarshalJSON

func (r *OIDCSaaSAppHybridAndImplicitOptions) UnmarshalJSON(data []byte) (err error)

type OIDCSaaSAppHybridAndImplicitOptionsParam

type OIDCSaaSAppHybridAndImplicitOptionsParam struct {
	// If an Access Token should be returned from the OIDC Authorization endpoint
	ReturnAccessTokenFromAuthorizationEndpoint param.Field[bool] `json:"return_access_token_from_authorization_endpoint"`
	// If an ID Token should be returned from the OIDC Authorization endpoint
	ReturnIDTokenFromAuthorizationEndpoint param.Field[bool] `json:"return_id_token_from_authorization_endpoint"`
}

func (OIDCSaaSAppHybridAndImplicitOptionsParam) MarshalJSON

func (r OIDCSaaSAppHybridAndImplicitOptionsParam) MarshalJSON() (data []byte, err error)

type OIDCSaaSAppParam

type OIDCSaaSAppParam struct {
	// The lifetime of the OIDC Access Token after creation. Valid units are m,h. Must
	// be greater than or equal to 1m and less than or equal to 24h.
	AccessTokenLifetime param.Field[string] `json:"access_token_lifetime"`
	// If client secret should be required on the token endpoint when
	// authorization_code_with_pkce grant is used.
	AllowPKCEWithoutClientSecret param.Field[bool] `json:"allow_pkce_without_client_secret"`
	// The URL where this applications tile redirects users
	AppLauncherURL param.Field[string] `json:"app_launcher_url"`
	// Identifier of the authentication protocol used for the saas app. Required for
	// OIDC.
	AuthType param.Field[OIDCSaaSAppAuthType] `json:"auth_type"`
	// The application client id
	ClientID param.Field[string] `json:"client_id"`
	// The application client secret, only returned on POST request.
	ClientSecret param.Field[string]                       `json:"client_secret"`
	CustomClaims param.Field[OIDCSaaSAppCustomClaimsParam] `json:"custom_claims"`
	// The OIDC flows supported by this application
	GrantTypes param.Field[[]OIDCSaaSAppGrantType] `json:"grant_types"`
	// A regex to filter Cloudflare groups returned in ID token and userinfo endpoint
	GroupFilterRegex         param.Field[string]                                   `json:"group_filter_regex"`
	HybridAndImplicitOptions param.Field[OIDCSaaSAppHybridAndImplicitOptionsParam] `json:"hybrid_and_implicit_options"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey param.Field[string] `json:"public_key"`
	// The permitted URL's for Cloudflare to return Authorization codes and Access/ID
	// tokens
	RedirectURIs        param.Field[[]string]                            `json:"redirect_uris"`
	RefreshTokenOptions param.Field[OIDCSaaSAppRefreshTokenOptionsParam] `json:"refresh_token_options"`
	// Define the user information shared with access, "offline_access" scope will be
	// automatically enabled if refresh tokens are enabled
	Scopes param.Field[[]OIDCSaaSAppScope] `json:"scopes"`
}

func (OIDCSaaSAppParam) MarshalJSON

func (r OIDCSaaSAppParam) MarshalJSON() (data []byte, err error)

type OIDCSaaSAppRefreshTokenOptions

type OIDCSaaSAppRefreshTokenOptions struct {
	// How long a refresh token will be valid for after creation. Valid units are
	// m,h,d. Must be longer than 1m.
	Lifetime string                             `json:"lifetime"`
	JSON     oidcSaaSAppRefreshTokenOptionsJSON `json:"-"`
}

func (*OIDCSaaSAppRefreshTokenOptions) UnmarshalJSON

func (r *OIDCSaaSAppRefreshTokenOptions) UnmarshalJSON(data []byte) (err error)

type OIDCSaaSAppRefreshTokenOptionsParam

type OIDCSaaSAppRefreshTokenOptionsParam struct {
	// How long a refresh token will be valid for after creation. Valid units are
	// m,h,d. Must be longer than 1m.
	Lifetime param.Field[string] `json:"lifetime"`
}

func (OIDCSaaSAppRefreshTokenOptionsParam) MarshalJSON

func (r OIDCSaaSAppRefreshTokenOptionsParam) MarshalJSON() (data []byte, err error)

type OIDCSaaSAppScope

type OIDCSaaSAppScope string
const (
	OIDCSaaSAppScopeOpenid  OIDCSaaSAppScope = "openid"
	OIDCSaaSAppScopeGroups  OIDCSaaSAppScope = "groups"
	OIDCSaaSAppScopeEmail   OIDCSaaSAppScope = "email"
	OIDCSaaSAppScopeProfile OIDCSaaSAppScope = "profile"
)

func (OIDCSaaSAppScope) IsKnown

func (r OIDCSaaSAppScope) IsKnown() bool

type OSVersionInput

type OSVersionInput struct {
	// Operating System
	OperatingSystem OSVersionInputOperatingSystem `json:"operating_system,required"`
	// operator
	Operator OSVersionInputOperator `json:"operator,required"`
	// Version of OS
	Version string `json:"version,required"`
	// Operating System Distribution Name (linux only)
	OSDistroName string `json:"os_distro_name"`
	// Version of OS Distribution (linux only)
	OSDistroRevision string `json:"os_distro_revision"`
	// Additional version data. For Mac or iOS, the Product Verison Extra. For Linux,
	// the kernel release version. (Mac, iOS, and Linux only)
	OSVersionExtra string             `json:"os_version_extra"`
	JSON           osVersionInputJSON `json:"-"`
}

func (*OSVersionInput) UnmarshalJSON

func (r *OSVersionInput) UnmarshalJSON(data []byte) (err error)

type OSVersionInputOperatingSystem

type OSVersionInputOperatingSystem string

Operating System

const (
	OSVersionInputOperatingSystemWindows OSVersionInputOperatingSystem = "windows"
)

func (OSVersionInputOperatingSystem) IsKnown

func (r OSVersionInputOperatingSystem) IsKnown() bool

type OSVersionInputOperator

type OSVersionInputOperator string

operator

const (
	OSVersionInputOperatorLess            OSVersionInputOperator = "<"
	OSVersionInputOperatorLessOrEquals    OSVersionInputOperator = "<="
	OSVersionInputOperatorGreater         OSVersionInputOperator = ">"
	OSVersionInputOperatorGreaterOrEquals OSVersionInputOperator = ">="
	OSVersionInputOperatorEquals          OSVersionInputOperator = "=="
)

func (OSVersionInputOperator) IsKnown

func (r OSVersionInputOperator) IsKnown() bool

type OSVersionInputParam

type OSVersionInputParam struct {
	// Operating System
	OperatingSystem param.Field[OSVersionInputOperatingSystem] `json:"operating_system,required"`
	// operator
	Operator param.Field[OSVersionInputOperator] `json:"operator,required"`
	// Version of OS
	Version param.Field[string] `json:"version,required"`
	// Operating System Distribution Name (linux only)
	OSDistroName param.Field[string] `json:"os_distro_name"`
	// Version of OS Distribution (linux only)
	OSDistroRevision param.Field[string] `json:"os_distro_revision"`
	// Additional version data. For Mac or iOS, the Product Verison Extra. For Linux,
	// the kernel release version. (Mac, iOS, and Linux only)
	OSVersionExtra param.Field[string] `json:"os_version_extra"`
}

func (OSVersionInputParam) MarshalJSON

func (r OSVersionInputParam) MarshalJSON() (data []byte, err error)

type OktaGroupRule

type OktaGroupRule struct {
	Okta OktaGroupRuleOkta `json:"okta,required"`
	JSON oktaGroupRuleJSON `json:"-"`
}

Matches an Okta group. Requires an Okta identity provider.

func (*OktaGroupRule) UnmarshalJSON

func (r *OktaGroupRule) UnmarshalJSON(data []byte) (err error)

type OktaGroupRuleOkta

type OktaGroupRuleOkta struct {
	// The ID of your Okta identity provider.
	ConnectionID string `json:"connection_id,required"`
	// The email of the Okta group.
	Email string                `json:"email,required"`
	JSON  oktaGroupRuleOktaJSON `json:"-"`
}

func (*OktaGroupRuleOkta) UnmarshalJSON

func (r *OktaGroupRuleOkta) UnmarshalJSON(data []byte) (err error)

type OktaGroupRuleOktaParam

type OktaGroupRuleOktaParam struct {
	// The ID of your Okta identity provider.
	ConnectionID param.Field[string] `json:"connection_id,required"`
	// The email of the Okta group.
	Email param.Field[string] `json:"email,required"`
}

func (OktaGroupRuleOktaParam) MarshalJSON

func (r OktaGroupRuleOktaParam) MarshalJSON() (data []byte, err error)

type OktaGroupRuleParam

type OktaGroupRuleParam struct {
	Okta param.Field[OktaGroupRuleOktaParam] `json:"okta,required"`
}

Matches an Okta group. Requires an Okta identity provider.

func (OktaGroupRuleParam) MarshalJSON

func (r OktaGroupRuleParam) MarshalJSON() (data []byte, err error)

type Organization

type Organization struct {
	// When set to true, users can authenticate via WARP for any application in your
	// organization. Application settings will take precedence over this value.
	AllowAuthenticateViaWARP bool `json:"allow_authenticate_via_warp"`
	// The unique subdomain assigned to your Zero Trust organization.
	AuthDomain string `json:"auth_domain"`
	// When set to `true`, users skip the identity provider selection step during
	// login.
	AutoRedirectToIdentity bool                    `json:"auto_redirect_to_identity"`
	CreatedAt              time.Time               `json:"created_at" format:"date-time"`
	CustomPages            OrganizationCustomPages `json:"custom_pages"`
	// Lock all settings as Read-Only in the Dashboard, regardless of user permission.
	// Updates may only be made via the API or Terraform for this account when enabled.
	IsUIReadOnly bool        `json:"is_ui_read_only"`
	LoginDesign  LoginDesign `json:"login_design"`
	// The name of your Zero Trust organization.
	Name string `json:"name"`
	// The amount of time that tokens issued for applications will be valid. Must be in
	// the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m,
	// h.
	SessionDuration string `json:"session_duration"`
	// A description of the reason why the UI read only field is being toggled.
	UIReadOnlyToggleReason string    `json:"ui_read_only_toggle_reason"`
	UpdatedAt              time.Time `json:"updated_at" format:"date-time"`
	// The amount of time a user seat is inactive before it expires. When the user seat
	// exceeds the set time of inactivity, the user is removed as an active seat and no
	// longer counts against your Teams seat count. Must be in the format `300ms` or
	// `2h45m`. Valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
	UserSeatExpirationInactiveTime string `json:"user_seat_expiration_inactive_time"`
	// The amount of time that tokens issued for applications will be valid. Must be in
	// the format `30m` or `2h45m`. Valid time units are: m, h.
	WARPAuthSessionDuration string           `json:"warp_auth_session_duration"`
	JSON                    organizationJSON `json:"-"`
}

func (*Organization) UnmarshalJSON

func (r *Organization) UnmarshalJSON(data []byte) (err error)

type OrganizationCustomPages

type OrganizationCustomPages struct {
	// The uid of the custom page to use when a user is denied access after failing a
	// non-identity rule.
	Forbidden string `json:"forbidden"`
	// The uid of the custom page to use when a user is denied access.
	IdentityDenied string                      `json:"identity_denied"`
	JSON           organizationCustomPagesJSON `json:"-"`
}

func (*OrganizationCustomPages) UnmarshalJSON

func (r *OrganizationCustomPages) UnmarshalJSON(data []byte) (err error)

type OrganizationListResponseEnvelope

type OrganizationListResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success OrganizationListResponseEnvelopeSuccess `json:"success,required"`
	Result  Organization                            `json:"result"`
	JSON    organizationListResponseEnvelopeJSON    `json:"-"`
}

func (*OrganizationListResponseEnvelope) UnmarshalJSON

func (r *OrganizationListResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type OrganizationListResponseEnvelopeSuccess

type OrganizationListResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	OrganizationListResponseEnvelopeSuccessTrue OrganizationListResponseEnvelopeSuccess = true
)

func (OrganizationListResponseEnvelopeSuccess) IsKnown

type OrganizationNewParams

type OrganizationNewParams struct {
	// The unique subdomain assigned to your Zero Trust organization.
	AuthDomain param.Field[string] `json:"auth_domain,required"`
	// The name of your Zero Trust organization.
	Name param.Field[string] `json:"name,required"`
	// When set to true, users can authenticate via WARP for any application in your
	// organization. Application settings will take precedence over this value.
	AllowAuthenticateViaWARP param.Field[bool] `json:"allow_authenticate_via_warp"`
	// When set to `true`, users skip the identity provider selection step during
	// login.
	AutoRedirectToIdentity param.Field[bool] `json:"auto_redirect_to_identity"`
	// Lock all settings as Read-Only in the Dashboard, regardless of user permission.
	// Updates may only be made via the API or Terraform for this account when enabled.
	IsUIReadOnly param.Field[bool]             `json:"is_ui_read_only"`
	LoginDesign  param.Field[LoginDesignParam] `json:"login_design"`
	// The amount of time that tokens issued for applications will be valid. Must be in
	// the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m,
	// h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// A description of the reason why the UI read only field is being toggled.
	UIReadOnlyToggleReason param.Field[string] `json:"ui_read_only_toggle_reason"`
	// The amount of time a user seat is inactive before it expires. When the user seat
	// exceeds the set time of inactivity, the user is removed as an active seat and no
	// longer counts against your Teams seat count. Must be in the format `300ms` or
	// `2h45m`. Valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
	UserSeatExpirationInactiveTime param.Field[string] `json:"user_seat_expiration_inactive_time"`
	// The amount of time that tokens issued for applications will be valid. Must be in
	// the format `30m` or `2h45m`. Valid time units are: m, h.
	WARPAuthSessionDuration param.Field[string] `json:"warp_auth_session_duration"`
}

func (OrganizationNewParams) MarshalJSON

func (r OrganizationNewParams) MarshalJSON() (data []byte, err error)

type OrganizationNewResponseEnvelope

type OrganizationNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success OrganizationNewResponseEnvelopeSuccess `json:"success,required"`
	Result  Organization                           `json:"result"`
	JSON    organizationNewResponseEnvelopeJSON    `json:"-"`
}

func (*OrganizationNewResponseEnvelope) UnmarshalJSON

func (r *OrganizationNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type OrganizationNewResponseEnvelopeSuccess

type OrganizationNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	OrganizationNewResponseEnvelopeSuccessTrue OrganizationNewResponseEnvelopeSuccess = true
)

func (OrganizationNewResponseEnvelopeSuccess) IsKnown

type OrganizationRevokeUsersParams

type OrganizationRevokeUsersParams struct {
	// The email of the user to revoke.
	Email param.Field[string] `json:"email,required"`
}

func (OrganizationRevokeUsersParams) MarshalJSON

func (r OrganizationRevokeUsersParams) MarshalJSON() (data []byte, err error)

type OrganizationRevokeUsersResponse

type OrganizationRevokeUsersResponse bool
const (
	OrganizationRevokeUsersResponseTrue  OrganizationRevokeUsersResponse = true
	OrganizationRevokeUsersResponseFalse OrganizationRevokeUsersResponse = false
)

func (OrganizationRevokeUsersResponse) IsKnown

type OrganizationRevokeUsersResponseEnvelope

type OrganizationRevokeUsersResponseEnvelope struct {
	Result  OrganizationRevokeUsersResponse                `json:"result"`
	Success OrganizationRevokeUsersResponseEnvelopeSuccess `json:"success"`
	JSON    organizationRevokeUsersResponseEnvelopeJSON    `json:"-"`
}

func (*OrganizationRevokeUsersResponseEnvelope) UnmarshalJSON

func (r *OrganizationRevokeUsersResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type OrganizationRevokeUsersResponseEnvelopeSuccess

type OrganizationRevokeUsersResponseEnvelopeSuccess bool
const (
	OrganizationRevokeUsersResponseEnvelopeSuccessTrue  OrganizationRevokeUsersResponseEnvelopeSuccess = true
	OrganizationRevokeUsersResponseEnvelopeSuccessFalse OrganizationRevokeUsersResponseEnvelopeSuccess = false
)

func (OrganizationRevokeUsersResponseEnvelopeSuccess) IsKnown

type OrganizationService

type OrganizationService struct {
	Options []option.RequestOption
}

OrganizationService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewOrganizationService method instead.

func NewOrganizationService

func NewOrganizationService(opts ...option.RequestOption) (r *OrganizationService)

NewOrganizationService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*OrganizationService) List

func (r *OrganizationService) List(ctx context.Context, accountOrZone string, accountOrZoneID string, opts ...option.RequestOption) (res *Organization, err error)

Returns the configuration for your Zero Trust organization.

func (*OrganizationService) New

func (r *OrganizationService) New(ctx context.Context, accountOrZone string, accountOrZoneID string, body OrganizationNewParams, opts ...option.RequestOption) (res *Organization, err error)

Sets up a Zero Trust organization for your account or zone.

func (*OrganizationService) RevokeUsers

func (r *OrganizationService) RevokeUsers(ctx context.Context, accountOrZone string, accountOrZoneID string, body OrganizationRevokeUsersParams, opts ...option.RequestOption) (res *OrganizationRevokeUsersResponse, err error)

Revokes a user's access across all applications.

func (*OrganizationService) Update

func (r *OrganizationService) Update(ctx context.Context, accountOrZone string, accountOrZoneID string, body OrganizationUpdateParams, opts ...option.RequestOption) (res *Organization, err error)

Updates the configuration for your Zero Trust organization.

type OrganizationUpdateParams

type OrganizationUpdateParams struct {
	// When set to true, users can authenticate via WARP for any application in your
	// organization. Application settings will take precedence over this value.
	AllowAuthenticateViaWARP param.Field[bool] `json:"allow_authenticate_via_warp"`
	// The unique subdomain assigned to your Zero Trust organization.
	AuthDomain param.Field[string] `json:"auth_domain"`
	// When set to `true`, users skip the identity provider selection step during
	// login.
	AutoRedirectToIdentity param.Field[bool]                                `json:"auto_redirect_to_identity"`
	CustomPages            param.Field[OrganizationUpdateParamsCustomPages] `json:"custom_pages"`
	// Lock all settings as Read-Only in the Dashboard, regardless of user permission.
	// Updates may only be made via the API or Terraform for this account when enabled.
	IsUIReadOnly param.Field[bool]             `json:"is_ui_read_only"`
	LoginDesign  param.Field[LoginDesignParam] `json:"login_design"`
	// The name of your Zero Trust organization.
	Name param.Field[string] `json:"name"`
	// The amount of time that tokens issued for applications will be valid. Must be in
	// the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m,
	// h.
	SessionDuration param.Field[string] `json:"session_duration"`
	// A description of the reason why the UI read only field is being toggled.
	UIReadOnlyToggleReason param.Field[string] `json:"ui_read_only_toggle_reason"`
	// The amount of time a user seat is inactive before it expires. When the user seat
	// exceeds the set time of inactivity, the user is removed as an active seat and no
	// longer counts against your Teams seat count. Must be in the format `300ms` or
	// `2h45m`. Valid time units are: `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
	UserSeatExpirationInactiveTime param.Field[string] `json:"user_seat_expiration_inactive_time"`
	// The amount of time that tokens issued for applications will be valid. Must be in
	// the format `30m` or `2h45m`. Valid time units are: m, h.
	WARPAuthSessionDuration param.Field[string] `json:"warp_auth_session_duration"`
}

func (OrganizationUpdateParams) MarshalJSON

func (r OrganizationUpdateParams) MarshalJSON() (data []byte, err error)

type OrganizationUpdateParamsCustomPages

type OrganizationUpdateParamsCustomPages struct {
	// The uid of the custom page to use when a user is denied access after failing a
	// non-identity rule.
	Forbidden param.Field[string] `json:"forbidden"`
	// The uid of the custom page to use when a user is denied access.
	IdentityDenied param.Field[string] `json:"identity_denied"`
}

func (OrganizationUpdateParamsCustomPages) MarshalJSON

func (r OrganizationUpdateParamsCustomPages) MarshalJSON() (data []byte, err error)

type OrganizationUpdateResponseEnvelope

type OrganizationUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success OrganizationUpdateResponseEnvelopeSuccess `json:"success,required"`
	Result  Organization                              `json:"result"`
	JSON    organizationUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*OrganizationUpdateResponseEnvelope) UnmarshalJSON

func (r *OrganizationUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type OrganizationUpdateResponseEnvelopeSuccess

type OrganizationUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	OrganizationUpdateResponseEnvelopeSuccessTrue OrganizationUpdateResponseEnvelopeSuccess = true
)

func (OrganizationUpdateResponseEnvelopeSuccess) IsKnown

type Pattern

type Pattern struct {
	// The regex pattern.
	Regex string `json:"regex,required"`
	// Validation algorithm for the pattern. This algorithm will get run on potential
	// matches, and if it returns false, the entry will not be matched.
	Validation PatternValidation `json:"validation"`
	JSON       patternJSON       `json:"-"`
}

A pattern that matches an entry

func (*Pattern) UnmarshalJSON

func (r *Pattern) UnmarshalJSON(data []byte) (err error)

type PatternParam

type PatternParam struct {
	// The regex pattern.
	Regex param.Field[string] `json:"regex,required"`
	// Validation algorithm for the pattern. This algorithm will get run on potential
	// matches, and if it returns false, the entry will not be matched.
	Validation param.Field[PatternValidation] `json:"validation"`
}

A pattern that matches an entry

func (PatternParam) MarshalJSON

func (r PatternParam) MarshalJSON() (data []byte, err error)

type PatternValidation

type PatternValidation string

Validation algorithm for the pattern. This algorithm will get run on potential matches, and if it returns false, the entry will not be matched.

const (
	PatternValidationLuhn PatternValidation = "luhn"
)

func (PatternValidation) IsKnown

func (r PatternValidation) IsKnown() bool

type Percentiles

type Percentiles struct {
	// p50 observed in the time period
	P50 float64 `json:"p50,nullable"`
	// p90 observed in the time period
	P90 float64 `json:"p90,nullable"`
	// p95 observed in the time period
	P95 float64 `json:"p95,nullable"`
	// p99 observed in the time period
	P99  float64         `json:"p99,nullable"`
	JSON percentilesJSON `json:"-"`
}

func (*Percentiles) UnmarshalJSON

func (r *Percentiles) UnmarshalJSON(data []byte) (err error)

type Permission

type Permission = shared.Permission

This is an alias to an internal type.

type PermissionGrant

type PermissionGrant = shared.PermissionGrant

This is an alias to an internal type.

type PermissionGrantParam

type PermissionGrantParam = shared.PermissionGrantParam

This is an alias to an internal type.

type PredefinedProfile

type PredefinedProfile struct {
	// The ID for this profile
	ID string `json:"id"`
	// Related DLP policies will trigger when the match count exceeds the number set.
	AllowedMatchCount float64 `json:"allowed_match_count"`
	// Scan the context of predefined entries to only return matches surrounded by
	// keywords.
	ContextAwareness ContextAwareness `json:"context_awareness"`
	// The entries for this profile.
	Entries []PredefinedProfileEntry `json:"entries"`
	// The name of the profile.
	Name string `json:"name"`
	// If true, scan images via OCR to determine if any text present matches filters.
	OCREnabled bool `json:"ocr_enabled"`
	// The type of the profile.
	Type PredefinedProfileType `json:"type"`
	JSON predefinedProfileJSON `json:"-"`
}

func (*PredefinedProfile) UnmarshalJSON

func (r *PredefinedProfile) UnmarshalJSON(data []byte) (err error)

type PredefinedProfileEntry

type PredefinedProfileEntry struct {
	// The ID for this entry
	ID string `json:"id"`
	// Whether the entry is enabled or not.
	Enabled bool `json:"enabled"`
	// The name of the entry.
	Name string `json:"name"`
	// ID of the parent profile
	ProfileID interface{}                `json:"profile_id"`
	JSON      predefinedProfileEntryJSON `json:"-"`
}

A predefined entry that matches a profile

func (*PredefinedProfileEntry) UnmarshalJSON

func (r *PredefinedProfileEntry) UnmarshalJSON(data []byte) (err error)

type PredefinedProfileType

type PredefinedProfileType string

The type of the profile.

const (
	PredefinedProfileTypePredefined PredefinedProfileType = "predefined"
)

func (PredefinedProfileType) IsKnown

func (r PredefinedProfileType) IsKnown() bool

type Profile

type Profile struct {
	// Related DLP policies will trigger when the match count exceeds the number set.
	AllowedMatchCount float64 `json:"allowed_match_count"`
	// Scan the context of predefined entries to only return matches surrounded by
	// keywords.
	ContextAwareness ContextAwareness `json:"context_awareness"`
	// This field can have the runtime type of [[]PredefinedProfileEntry],
	// [[]CustomProfileEntry], [[]ProfileDLPIntegrationProfileEntry].
	Entries interface{} `json:"entries,required"`
	// The ID for this profile
	ID string `json:"id"`
	// The name of the profile.
	Name string `json:"name"`
	// If true, scan images via OCR to determine if any text present matches filters.
	OCREnabled bool `json:"ocr_enabled"`
	// The type of the profile.
	Type      ProfileType `json:"type"`
	CreatedAt time.Time   `json:"created_at" format:"date-time"`
	// The description of the profile.
	Description string      `json:"description"`
	UpdatedAt   time.Time   `json:"updated_at" format:"date-time"`
	JSON        profileJSON `json:"-"`
	// contains filtered or unexported fields
}

func (Profile) AsUnion

func (r Profile) AsUnion() ProfileUnion

AsUnion returns a ProfileUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are zero_trust.PredefinedProfile, zero_trust.CustomProfile, zero_trust.ProfileDLPIntegrationProfile.

func (*Profile) UnmarshalJSON

func (r *Profile) UnmarshalJSON(data []byte) (err error)

type ProfileDLPIntegrationProfile

type ProfileDLPIntegrationProfile struct {
	// The ID for this profile
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The description of the profile.
	Description string `json:"description"`
	// The entries for this profile.
	Entries []ProfileDLPIntegrationProfileEntry `json:"entries"`
	// The name of the profile.
	Name string `json:"name"`
	// The type of the profile.
	Type      ProfileDLPIntegrationProfileType `json:"type"`
	UpdatedAt time.Time                        `json:"updated_at" format:"date-time"`
	JSON      profileDLPIntegrationProfileJSON `json:"-"`
}

func (*ProfileDLPIntegrationProfile) UnmarshalJSON

func (r *ProfileDLPIntegrationProfile) UnmarshalJSON(data []byte) (err error)

type ProfileDLPIntegrationProfileEntry

type ProfileDLPIntegrationProfileEntry struct {
	// The ID for this entry
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Whether the entry is enabled or not.
	Enabled bool `json:"enabled"`
	// The name of the entry.
	Name string `json:"name"`
	// ID of the parent profile
	ProfileID interface{}                           `json:"profile_id"`
	UpdatedAt time.Time                             `json:"updated_at" format:"date-time"`
	JSON      profileDLPIntegrationProfileEntryJSON `json:"-"`
}

An entry derived from an integration

func (*ProfileDLPIntegrationProfileEntry) UnmarshalJSON

func (r *ProfileDLPIntegrationProfileEntry) UnmarshalJSON(data []byte) (err error)

type ProfileDLPIntegrationProfileType

type ProfileDLPIntegrationProfileType string

The type of the profile.

const (
	ProfileDLPIntegrationProfileTypeIntegration ProfileDLPIntegrationProfileType = "integration"
)

func (ProfileDLPIntegrationProfileType) IsKnown

type ProfileType

type ProfileType string

The type of the profile.

const (
	ProfileTypePredefined  ProfileType = "predefined"
	ProfileTypeCustom      ProfileType = "custom"
	ProfileTypeIntegration ProfileType = "integration"
)

func (ProfileType) IsKnown

func (r ProfileType) IsKnown() bool

type ProfileUnion

type ProfileUnion interface {
	// contains filtered or unexported methods
}

Union satisfied by zero_trust.PredefinedProfile, zero_trust.CustomProfile or zero_trust.ProfileDLPIntegrationProfile.

type ProtocolDetection

type ProtocolDetection struct {
	// Enable detecting protocol on initial bytes of client traffic.
	Enabled bool                  `json:"enabled"`
	JSON    protocolDetectionJSON `json:"-"`
}

Protocol Detection settings.

func (*ProtocolDetection) UnmarshalJSON

func (r *ProtocolDetection) UnmarshalJSON(data []byte) (err error)

type ProtocolDetectionParam

type ProtocolDetectionParam struct {
	// Enable detecting protocol on initial bytes of client traffic.
	Enabled param.Field[bool] `json:"enabled"`
}

Protocol Detection settings.

func (ProtocolDetectionParam) MarshalJSON

func (r ProtocolDetectionParam) MarshalJSON() (data []byte, err error)

type ProxyEndpoint

type ProxyEndpoint struct {
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// A list of CIDRs to restrict ingress connections.
	IPs []GatewayIPs `json:"ips"`
	// The name of the proxy endpoint.
	Name string `json:"name"`
	// The subdomain to be used as the destination in the proxy client.
	Subdomain string            `json:"subdomain"`
	UpdatedAt time.Time         `json:"updated_at" format:"date-time"`
	JSON      proxyEndpointJSON `json:"-"`
}

func (*ProxyEndpoint) UnmarshalJSON

func (r *ProxyEndpoint) UnmarshalJSON(data []byte) (err error)

type ResponseInfo

type ResponseInfo = shared.ResponseInfo

This is an alias to an internal type.

type RiskScoringBehaviourGetResponse

type RiskScoringBehaviourGetResponse struct {
	Behaviors map[string]RiskScoringBehaviourGetResponseBehavior `json:"behaviors"`
	JSON      riskScoringBehaviourGetResponseJSON                `json:"-"`
}

func (*RiskScoringBehaviourGetResponse) UnmarshalJSON

func (r *RiskScoringBehaviourGetResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringBehaviourGetResponseBehavior

type RiskScoringBehaviourGetResponseBehavior struct {
	Description string                                            `json:"description"`
	Enabled     bool                                              `json:"enabled"`
	Name        string                                            `json:"name"`
	RiskLevel   RiskScoringBehaviourGetResponseBehaviorsRiskLevel `json:"risk_level"`
	JSON        riskScoringBehaviourGetResponseBehaviorJSON       `json:"-"`
}

func (*RiskScoringBehaviourGetResponseBehavior) UnmarshalJSON

func (r *RiskScoringBehaviourGetResponseBehavior) UnmarshalJSON(data []byte) (err error)

type RiskScoringBehaviourGetResponseBehaviorsRiskLevel

type RiskScoringBehaviourGetResponseBehaviorsRiskLevel string
const (
	RiskScoringBehaviourGetResponseBehaviorsRiskLevelLow    RiskScoringBehaviourGetResponseBehaviorsRiskLevel = "low"
	RiskScoringBehaviourGetResponseBehaviorsRiskLevelMedium RiskScoringBehaviourGetResponseBehaviorsRiskLevel = "medium"
	RiskScoringBehaviourGetResponseBehaviorsRiskLevelHigh   RiskScoringBehaviourGetResponseBehaviorsRiskLevel = "high"
)

func (RiskScoringBehaviourGetResponseBehaviorsRiskLevel) IsKnown

type RiskScoringBehaviourGetResponseEnvelope

type RiskScoringBehaviourGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo           `json:"errors,required"`
	Messages []shared.ResponseInfo           `json:"messages,required"`
	Result   RiskScoringBehaviourGetResponse `json:"result,required"`
	// Whether the API call was successful
	Success RiskScoringBehaviourGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    riskScoringBehaviourGetResponseEnvelopeJSON    `json:"-"`
}

func (*RiskScoringBehaviourGetResponseEnvelope) UnmarshalJSON

func (r *RiskScoringBehaviourGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringBehaviourGetResponseEnvelopeSuccess

type RiskScoringBehaviourGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RiskScoringBehaviourGetResponseEnvelopeSuccessTrue RiskScoringBehaviourGetResponseEnvelopeSuccess = true
)

func (RiskScoringBehaviourGetResponseEnvelopeSuccess) IsKnown

type RiskScoringBehaviourService

type RiskScoringBehaviourService struct {
	Options []option.RequestOption
}

RiskScoringBehaviourService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewRiskScoringBehaviourService method instead.

func NewRiskScoringBehaviourService

func NewRiskScoringBehaviourService(opts ...option.RequestOption) (r *RiskScoringBehaviourService)

NewRiskScoringBehaviourService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*RiskScoringBehaviourService) Get

func (r *RiskScoringBehaviourService) Get(ctx context.Context, accountIdentifier string, opts ...option.RequestOption) (res *RiskScoringBehaviourGetResponse, err error)

Get all behaviors and associated configuration

func (*RiskScoringBehaviourService) Update

Update configuration for risk behaviors

type RiskScoringBehaviourUpdateParams

type RiskScoringBehaviourUpdateParams struct {
	Behaviors param.Field[map[string]RiskScoringBehaviourUpdateParamsBehaviors] `json:"behaviors"`
}

func (RiskScoringBehaviourUpdateParams) MarshalJSON

func (r RiskScoringBehaviourUpdateParams) MarshalJSON() (data []byte, err error)

type RiskScoringBehaviourUpdateParamsBehaviors

type RiskScoringBehaviourUpdateParamsBehaviors struct {
	Enabled   param.Field[bool]                                               `json:"enabled,required"`
	RiskLevel param.Field[RiskScoringBehaviourUpdateParamsBehaviorsRiskLevel] `json:"risk_level,required"`
}

func (RiskScoringBehaviourUpdateParamsBehaviors) MarshalJSON

func (r RiskScoringBehaviourUpdateParamsBehaviors) MarshalJSON() (data []byte, err error)

type RiskScoringBehaviourUpdateParamsBehaviorsRiskLevel

type RiskScoringBehaviourUpdateParamsBehaviorsRiskLevel string
const (
	RiskScoringBehaviourUpdateParamsBehaviorsRiskLevelLow    RiskScoringBehaviourUpdateParamsBehaviorsRiskLevel = "low"
	RiskScoringBehaviourUpdateParamsBehaviorsRiskLevelMedium RiskScoringBehaviourUpdateParamsBehaviorsRiskLevel = "medium"
	RiskScoringBehaviourUpdateParamsBehaviorsRiskLevelHigh   RiskScoringBehaviourUpdateParamsBehaviorsRiskLevel = "high"
)

func (RiskScoringBehaviourUpdateParamsBehaviorsRiskLevel) IsKnown

type RiskScoringBehaviourUpdateResponse

type RiskScoringBehaviourUpdateResponse struct {
	Behaviors map[string]RiskScoringBehaviourUpdateResponseBehavior `json:"behaviors"`
	JSON      riskScoringBehaviourUpdateResponseJSON                `json:"-"`
}

func (*RiskScoringBehaviourUpdateResponse) UnmarshalJSON

func (r *RiskScoringBehaviourUpdateResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringBehaviourUpdateResponseBehavior

type RiskScoringBehaviourUpdateResponseBehavior struct {
	Description string                                               `json:"description"`
	Enabled     bool                                                 `json:"enabled"`
	Name        string                                               `json:"name"`
	RiskLevel   RiskScoringBehaviourUpdateResponseBehaviorsRiskLevel `json:"risk_level"`
	JSON        riskScoringBehaviourUpdateResponseBehaviorJSON       `json:"-"`
}

func (*RiskScoringBehaviourUpdateResponseBehavior) UnmarshalJSON

func (r *RiskScoringBehaviourUpdateResponseBehavior) UnmarshalJSON(data []byte) (err error)

type RiskScoringBehaviourUpdateResponseBehaviorsRiskLevel

type RiskScoringBehaviourUpdateResponseBehaviorsRiskLevel string
const (
	RiskScoringBehaviourUpdateResponseBehaviorsRiskLevelLow    RiskScoringBehaviourUpdateResponseBehaviorsRiskLevel = "low"
	RiskScoringBehaviourUpdateResponseBehaviorsRiskLevelMedium RiskScoringBehaviourUpdateResponseBehaviorsRiskLevel = "medium"
	RiskScoringBehaviourUpdateResponseBehaviorsRiskLevelHigh   RiskScoringBehaviourUpdateResponseBehaviorsRiskLevel = "high"
)

func (RiskScoringBehaviourUpdateResponseBehaviorsRiskLevel) IsKnown

type RiskScoringBehaviourUpdateResponseEnvelope

type RiskScoringBehaviourUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo              `json:"errors,required"`
	Messages []shared.ResponseInfo              `json:"messages,required"`
	Result   RiskScoringBehaviourUpdateResponse `json:"result,required"`
	// Whether the API call was successful
	Success RiskScoringBehaviourUpdateResponseEnvelopeSuccess `json:"success,required"`
	JSON    riskScoringBehaviourUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*RiskScoringBehaviourUpdateResponseEnvelope) UnmarshalJSON

func (r *RiskScoringBehaviourUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringBehaviourUpdateResponseEnvelopeSuccess

type RiskScoringBehaviourUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RiskScoringBehaviourUpdateResponseEnvelopeSuccessTrue RiskScoringBehaviourUpdateResponseEnvelopeSuccess = true
)

func (RiskScoringBehaviourUpdateResponseEnvelopeSuccess) IsKnown

type RiskScoringGetParams

type RiskScoringGetParams struct {
	Direction param.Field[RiskScoringGetParamsDirection] `query:"direction"`
	OrderBy   param.Field[RiskScoringGetParamsOrderBy]   `query:"order_by"`
	Page      param.Field[int64]                         `query:"page"`
	PerPage   param.Field[int64]                         `query:"per_page"`
}

func (RiskScoringGetParams) URLQuery

func (r RiskScoringGetParams) URLQuery() (v url.Values)

URLQuery serializes RiskScoringGetParams's query parameters as `url.Values`.

type RiskScoringGetParamsDirection

type RiskScoringGetParamsDirection string
const (
	RiskScoringGetParamsDirectionDesc RiskScoringGetParamsDirection = "desc"
	RiskScoringGetParamsDirectionAsc  RiskScoringGetParamsDirection = "asc"
)

func (RiskScoringGetParamsDirection) IsKnown

func (r RiskScoringGetParamsDirection) IsKnown() bool

type RiskScoringGetParamsOrderBy

type RiskScoringGetParamsOrderBy string
const (
	RiskScoringGetParamsOrderByTimestamp RiskScoringGetParamsOrderBy = "timestamp"
	RiskScoringGetParamsOrderByRiskLevel RiskScoringGetParamsOrderBy = "risk_level"
)

func (RiskScoringGetParamsOrderBy) IsKnown

func (r RiskScoringGetParamsOrderBy) IsKnown() bool

type RiskScoringGetResponse

type RiskScoringGetResponse struct {
	Email         string                          `json:"email"`
	Events        []RiskScoringGetResponseEvent   `json:"events"`
	LastResetTime time.Time                       `json:"last_reset_time,nullable" format:"date-time"`
	Name          string                          `json:"name"`
	RiskLevel     RiskScoringGetResponseRiskLevel `json:"risk_level,nullable"`
	JSON          riskScoringGetResponseJSON      `json:"-"`
}

func (*RiskScoringGetResponse) UnmarshalJSON

func (r *RiskScoringGetResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringGetResponseEnvelope

type RiskScoringGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo  `json:"errors,required"`
	Messages []shared.ResponseInfo  `json:"messages,required"`
	Result   RiskScoringGetResponse `json:"result,required"`
	// Whether the API call was successful
	Success    RiskScoringGetResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo RiskScoringGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       riskScoringGetResponseEnvelopeJSON       `json:"-"`
}

func (*RiskScoringGetResponseEnvelope) UnmarshalJSON

func (r *RiskScoringGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringGetResponseEnvelopeResultInfo

type RiskScoringGetResponseEnvelopeResultInfo struct {
	Count      int64                                        `json:"count,required"`
	Page       int64                                        `json:"page,required"`
	PerPage    int64                                        `json:"per_page,required"`
	TotalCount int64                                        `json:"total_count,required"`
	JSON       riskScoringGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*RiskScoringGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *RiskScoringGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type RiskScoringGetResponseEnvelopeSuccess

type RiskScoringGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RiskScoringGetResponseEnvelopeSuccessTrue RiskScoringGetResponseEnvelopeSuccess = true
)

func (RiskScoringGetResponseEnvelopeSuccess) IsKnown

type RiskScoringGetResponseEvent

type RiskScoringGetResponseEvent struct {
	ID           string                                `json:"id,required"`
	Name         string                                `json:"name,required"`
	RiskLevel    RiskScoringGetResponseEventsRiskLevel `json:"risk_level,required"`
	Timestamp    time.Time                             `json:"timestamp,required" format:"date-time"`
	EventDetails interface{}                           `json:"event_details"`
	JSON         riskScoringGetResponseEventJSON       `json:"-"`
}

func (*RiskScoringGetResponseEvent) UnmarshalJSON

func (r *RiskScoringGetResponseEvent) UnmarshalJSON(data []byte) (err error)

type RiskScoringGetResponseEventsRiskLevel

type RiskScoringGetResponseEventsRiskLevel string
const (
	RiskScoringGetResponseEventsRiskLevelLow    RiskScoringGetResponseEventsRiskLevel = "low"
	RiskScoringGetResponseEventsRiskLevelMedium RiskScoringGetResponseEventsRiskLevel = "medium"
	RiskScoringGetResponseEventsRiskLevelHigh   RiskScoringGetResponseEventsRiskLevel = "high"
)

func (RiskScoringGetResponseEventsRiskLevel) IsKnown

type RiskScoringGetResponseRiskLevel

type RiskScoringGetResponseRiskLevel string
const (
	RiskScoringGetResponseRiskLevelLow    RiskScoringGetResponseRiskLevel = "low"
	RiskScoringGetResponseRiskLevelMedium RiskScoringGetResponseRiskLevel = "medium"
	RiskScoringGetResponseRiskLevelHigh   RiskScoringGetResponseRiskLevel = "high"
)

func (RiskScoringGetResponseRiskLevel) IsKnown

type RiskScoringIntegrationDeleteResponse

type RiskScoringIntegrationDeleteResponse = interface{}

type RiskScoringIntegrationDeleteResponseEnvelope

type RiskScoringIntegrationDeleteResponseEnvelope struct {
	Errors     []shared.ResponseInfo                                  `json:"errors,required"`
	Messages   []shared.ResponseInfo                                  `json:"messages,required"`
	Success    bool                                                   `json:"success,required"`
	Result     RiskScoringIntegrationDeleteResponse                   `json:"result"`
	ResultInfo RiskScoringIntegrationDeleteResponseEnvelopeResultInfo `json:"result_info"`
	JSON       riskScoringIntegrationDeleteResponseEnvelopeJSON       `json:"-"`
}

func (*RiskScoringIntegrationDeleteResponseEnvelope) UnmarshalJSON

func (r *RiskScoringIntegrationDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationDeleteResponseEnvelopeResultInfo

type RiskScoringIntegrationDeleteResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                                      `json:"total_count,required"`
	JSON       riskScoringIntegrationDeleteResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*RiskScoringIntegrationDeleteResponseEnvelopeResultInfo) UnmarshalJSON

func (r *RiskScoringIntegrationDeleteResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationGetResponse

type RiskScoringIntegrationGetResponse struct {
	// The id of the integration, a UUIDv4.
	ID string `json:"id,required" format:"uuid"`
	// The Cloudflare account tag.
	AccountTag string `json:"account_tag,required"`
	// Whether this integration is enabled and should export changes in risk score.
	Active bool `json:"active,required"`
	// When the integration was created in RFC3339 format.
	CreatedAt       time.Time                                        `json:"created_at,required" format:"date-time"`
	IntegrationType RiskScoringIntegrationGetResponseIntegrationType `json:"integration_type,required"`
	// A reference ID defined by the client. Should be set to the Access-Okta IDP
	// integration ID. Useful when the risk-score integration needs to be associated
	// with a secondary asset and recalled using that ID.
	ReferenceID string `json:"reference_id,required"`
	// The base URL for the tenant. E.g. "https://tenant.okta.com"
	TenantURL string `json:"tenant_url,required"`
	// The URL for the Shared Signals Framework configuration, e.g.
	// "/.well-known/sse-configuration/{integration_uuid}/".
	// https://openid.net/specs/openid-sse-framework-1_0.html#rfc.section.6.2.1
	WellKnownURL string                                `json:"well_known_url,required"`
	JSON         riskScoringIntegrationGetResponseJSON `json:"-"`
}

func (*RiskScoringIntegrationGetResponse) UnmarshalJSON

func (r *RiskScoringIntegrationGetResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationGetResponseEnvelope

type RiskScoringIntegrationGetResponseEnvelope struct {
	Errors     []shared.ResponseInfo                               `json:"errors,required"`
	Messages   []shared.ResponseInfo                               `json:"messages,required"`
	Success    bool                                                `json:"success,required"`
	Result     RiskScoringIntegrationGetResponse                   `json:"result"`
	ResultInfo RiskScoringIntegrationGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       riskScoringIntegrationGetResponseEnvelopeJSON       `json:"-"`
}

func (*RiskScoringIntegrationGetResponseEnvelope) UnmarshalJSON

func (r *RiskScoringIntegrationGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationGetResponseEnvelopeResultInfo

type RiskScoringIntegrationGetResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                                   `json:"total_count,required"`
	JSON       riskScoringIntegrationGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*RiskScoringIntegrationGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *RiskScoringIntegrationGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationGetResponseIntegrationType

type RiskScoringIntegrationGetResponseIntegrationType string
const (
	RiskScoringIntegrationGetResponseIntegrationTypeOkta RiskScoringIntegrationGetResponseIntegrationType = "Okta"
)

func (RiskScoringIntegrationGetResponseIntegrationType) IsKnown

type RiskScoringIntegrationListResponse

type RiskScoringIntegrationListResponse struct {
	// The id of the integration, a UUIDv4.
	ID string `json:"id,required" format:"uuid"`
	// The Cloudflare account tag.
	AccountTag string `json:"account_tag,required"`
	// Whether this integration is enabled and should export changes in risk score.
	Active bool `json:"active,required"`
	// When the integration was created in RFC3339 format.
	CreatedAt       time.Time                                         `json:"created_at,required" format:"date-time"`
	IntegrationType RiskScoringIntegrationListResponseIntegrationType `json:"integration_type,required"`
	// A reference ID defined by the client. Should be set to the Access-Okta IDP
	// integration ID. Useful when the risk-score integration needs to be associated
	// with a secondary asset and recalled using that ID.
	ReferenceID string `json:"reference_id,required"`
	// The base URL for the tenant. E.g. "https://tenant.okta.com"
	TenantURL string `json:"tenant_url,required"`
	// The URL for the Shared Signals Framework configuration, e.g.
	// "/.well-known/sse-configuration/{integration_uuid}/".
	// https://openid.net/specs/openid-sse-framework-1_0.html#rfc.section.6.2.1
	WellKnownURL string                                 `json:"well_known_url,required"`
	JSON         riskScoringIntegrationListResponseJSON `json:"-"`
}

func (*RiskScoringIntegrationListResponse) UnmarshalJSON

func (r *RiskScoringIntegrationListResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationListResponseIntegrationType

type RiskScoringIntegrationListResponseIntegrationType string
const (
	RiskScoringIntegrationListResponseIntegrationTypeOkta RiskScoringIntegrationListResponseIntegrationType = "Okta"
)

func (RiskScoringIntegrationListResponseIntegrationType) IsKnown

type RiskScoringIntegrationNewParams

type RiskScoringIntegrationNewParams struct {
	IntegrationType param.Field[RiskScoringIntegrationNewParamsIntegrationType] `json:"integration_type,required"`
	// The base url of the tenant, e.g. "https://tenant.okta.com"
	TenantURL param.Field[string] `json:"tenant_url,required" format:"uri"`
	// A reference id that can be supplied by the client. Currently this should be set
	// to the Access-Okta IDP ID (a UUIDv4).
	// https://developers.cloudflare.com/api/operations/access-identity-providers-get-an-access-identity-provider
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (RiskScoringIntegrationNewParams) MarshalJSON

func (r RiskScoringIntegrationNewParams) MarshalJSON() (data []byte, err error)

type RiskScoringIntegrationNewParamsIntegrationType

type RiskScoringIntegrationNewParamsIntegrationType string
const (
	RiskScoringIntegrationNewParamsIntegrationTypeOkta RiskScoringIntegrationNewParamsIntegrationType = "Okta"
)

func (RiskScoringIntegrationNewParamsIntegrationType) IsKnown

type RiskScoringIntegrationNewResponse

type RiskScoringIntegrationNewResponse struct {
	// The id of the integration, a UUIDv4.
	ID string `json:"id,required" format:"uuid"`
	// The Cloudflare account tag.
	AccountTag string `json:"account_tag,required"`
	// Whether this integration is enabled and should export changes in risk score.
	Active bool `json:"active,required"`
	// When the integration was created in RFC3339 format.
	CreatedAt       time.Time                                        `json:"created_at,required" format:"date-time"`
	IntegrationType RiskScoringIntegrationNewResponseIntegrationType `json:"integration_type,required"`
	// A reference ID defined by the client. Should be set to the Access-Okta IDP
	// integration ID. Useful when the risk-score integration needs to be associated
	// with a secondary asset and recalled using that ID.
	ReferenceID string `json:"reference_id,required"`
	// The base URL for the tenant. E.g. "https://tenant.okta.com"
	TenantURL string `json:"tenant_url,required"`
	// The URL for the Shared Signals Framework configuration, e.g.
	// "/.well-known/sse-configuration/{integration_uuid}/".
	// https://openid.net/specs/openid-sse-framework-1_0.html#rfc.section.6.2.1
	WellKnownURL string                                `json:"well_known_url,required"`
	JSON         riskScoringIntegrationNewResponseJSON `json:"-"`
}

func (*RiskScoringIntegrationNewResponse) UnmarshalJSON

func (r *RiskScoringIntegrationNewResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationNewResponseEnvelope

type RiskScoringIntegrationNewResponseEnvelope struct {
	Errors     []shared.ResponseInfo                               `json:"errors,required"`
	Messages   []shared.ResponseInfo                               `json:"messages,required"`
	Success    bool                                                `json:"success,required"`
	Result     RiskScoringIntegrationNewResponse                   `json:"result"`
	ResultInfo RiskScoringIntegrationNewResponseEnvelopeResultInfo `json:"result_info"`
	JSON       riskScoringIntegrationNewResponseEnvelopeJSON       `json:"-"`
}

func (*RiskScoringIntegrationNewResponseEnvelope) UnmarshalJSON

func (r *RiskScoringIntegrationNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationNewResponseEnvelopeResultInfo

type RiskScoringIntegrationNewResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                                   `json:"total_count,required"`
	JSON       riskScoringIntegrationNewResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*RiskScoringIntegrationNewResponseEnvelopeResultInfo) UnmarshalJSON

func (r *RiskScoringIntegrationNewResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationNewResponseIntegrationType

type RiskScoringIntegrationNewResponseIntegrationType string
const (
	RiskScoringIntegrationNewResponseIntegrationTypeOkta RiskScoringIntegrationNewResponseIntegrationType = "Okta"
)

func (RiskScoringIntegrationNewResponseIntegrationType) IsKnown

type RiskScoringIntegrationReferenceGetResponse

type RiskScoringIntegrationReferenceGetResponse struct {
	// The id of the integration, a UUIDv4.
	ID string `json:"id,required" format:"uuid"`
	// The Cloudflare account tag.
	AccountTag string `json:"account_tag,required"`
	// Whether this integration is enabled and should export changes in risk score.
	Active bool `json:"active,required"`
	// When the integration was created in RFC3339 format.
	CreatedAt       time.Time                                                 `json:"created_at,required" format:"date-time"`
	IntegrationType RiskScoringIntegrationReferenceGetResponseIntegrationType `json:"integration_type,required"`
	// A reference ID defined by the client. Should be set to the Access-Okta IDP
	// integration ID. Useful when the risk-score integration needs to be associated
	// with a secondary asset and recalled using that ID.
	ReferenceID string `json:"reference_id,required"`
	// The base URL for the tenant. E.g. "https://tenant.okta.com"
	TenantURL string `json:"tenant_url,required"`
	// The URL for the Shared Signals Framework configuration, e.g.
	// "/.well-known/sse-configuration/{integration_uuid}/".
	// https://openid.net/specs/openid-sse-framework-1_0.html#rfc.section.6.2.1
	WellKnownURL string                                         `json:"well_known_url,required"`
	JSON         riskScoringIntegrationReferenceGetResponseJSON `json:"-"`
}

func (*RiskScoringIntegrationReferenceGetResponse) UnmarshalJSON

func (r *RiskScoringIntegrationReferenceGetResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationReferenceGetResponseEnvelope

type RiskScoringIntegrationReferenceGetResponseEnvelope struct {
	Errors     []shared.ResponseInfo                                        `json:"errors,required"`
	Messages   []shared.ResponseInfo                                        `json:"messages,required"`
	Success    bool                                                         `json:"success,required"`
	Result     RiskScoringIntegrationReferenceGetResponse                   `json:"result"`
	ResultInfo RiskScoringIntegrationReferenceGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       riskScoringIntegrationReferenceGetResponseEnvelopeJSON       `json:"-"`
}

func (*RiskScoringIntegrationReferenceGetResponseEnvelope) UnmarshalJSON

func (r *RiskScoringIntegrationReferenceGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationReferenceGetResponseEnvelopeResultInfo

type RiskScoringIntegrationReferenceGetResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                                            `json:"total_count,required"`
	JSON       riskScoringIntegrationReferenceGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*RiskScoringIntegrationReferenceGetResponseEnvelopeResultInfo) UnmarshalJSON

type RiskScoringIntegrationReferenceGetResponseIntegrationType

type RiskScoringIntegrationReferenceGetResponseIntegrationType string
const (
	RiskScoringIntegrationReferenceGetResponseIntegrationTypeOkta RiskScoringIntegrationReferenceGetResponseIntegrationType = "Okta"
)

func (RiskScoringIntegrationReferenceGetResponseIntegrationType) IsKnown

type RiskScoringIntegrationReferenceService

type RiskScoringIntegrationReferenceService struct {
	Options []option.RequestOption
}

RiskScoringIntegrationReferenceService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewRiskScoringIntegrationReferenceService method instead.

func NewRiskScoringIntegrationReferenceService

func NewRiskScoringIntegrationReferenceService(opts ...option.RequestOption) (r *RiskScoringIntegrationReferenceService)

NewRiskScoringIntegrationReferenceService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*RiskScoringIntegrationReferenceService) Get

Get risk score integration by reference id.

type RiskScoringIntegrationService

type RiskScoringIntegrationService struct {
	Options    []option.RequestOption
	References *RiskScoringIntegrationReferenceService
}

RiskScoringIntegrationService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewRiskScoringIntegrationService method instead.

func NewRiskScoringIntegrationService

func NewRiskScoringIntegrationService(opts ...option.RequestOption) (r *RiskScoringIntegrationService)

NewRiskScoringIntegrationService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*RiskScoringIntegrationService) Delete

func (r *RiskScoringIntegrationService) Delete(ctx context.Context, accountID string, integrationID string, opts ...option.RequestOption) (res *RiskScoringIntegrationDeleteResponse, err error)

Delete a risk score integration.

func (*RiskScoringIntegrationService) Get

func (r *RiskScoringIntegrationService) Get(ctx context.Context, accountID string, integrationID string, opts ...option.RequestOption) (res *RiskScoringIntegrationGetResponse, err error)

Get risk score integration by id.

func (*RiskScoringIntegrationService) List

List all risk score integrations for the account.

func (*RiskScoringIntegrationService) ListAutoPaging

List all risk score integrations for the account.

func (*RiskScoringIntegrationService) New

Create new risk score integration.

func (*RiskScoringIntegrationService) Update

Update a risk score integration.

Overwrite the reference_id, tenant_url, and active values with the ones provided

type RiskScoringIntegrationUpdateParams

type RiskScoringIntegrationUpdateParams struct {
	// Whether this integration is enabled. If disabled, no risk changes will be
	// exported to the third-party.
	Active param.Field[bool] `json:"active,required"`
	// The base url of the tenant, e.g. "https://tenant.okta.com"
	TenantURL param.Field[string] `json:"tenant_url,required" format:"uri"`
	// A reference id that can be supplied by the client. Currently this should be set
	// to the Access-Okta IDP ID (a UUIDv4).
	// https://developers.cloudflare.com/api/operations/access-identity-providers-get-an-access-identity-provider
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (RiskScoringIntegrationUpdateParams) MarshalJSON

func (r RiskScoringIntegrationUpdateParams) MarshalJSON() (data []byte, err error)

type RiskScoringIntegrationUpdateResponse

type RiskScoringIntegrationUpdateResponse struct {
	// The id of the integration, a UUIDv4.
	ID string `json:"id,required" format:"uuid"`
	// The Cloudflare account tag.
	AccountTag string `json:"account_tag,required"`
	// Whether this integration is enabled and should export changes in risk score.
	Active bool `json:"active,required"`
	// When the integration was created in RFC3339 format.
	CreatedAt       time.Time                                           `json:"created_at,required" format:"date-time"`
	IntegrationType RiskScoringIntegrationUpdateResponseIntegrationType `json:"integration_type,required"`
	// A reference ID defined by the client. Should be set to the Access-Okta IDP
	// integration ID. Useful when the risk-score integration needs to be associated
	// with a secondary asset and recalled using that ID.
	ReferenceID string `json:"reference_id,required"`
	// The base URL for the tenant. E.g. "https://tenant.okta.com"
	TenantURL string `json:"tenant_url,required"`
	// The URL for the Shared Signals Framework configuration, e.g.
	// "/.well-known/sse-configuration/{integration_uuid}/".
	// https://openid.net/specs/openid-sse-framework-1_0.html#rfc.section.6.2.1
	WellKnownURL string                                   `json:"well_known_url,required"`
	JSON         riskScoringIntegrationUpdateResponseJSON `json:"-"`
}

func (*RiskScoringIntegrationUpdateResponse) UnmarshalJSON

func (r *RiskScoringIntegrationUpdateResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationUpdateResponseEnvelope

type RiskScoringIntegrationUpdateResponseEnvelope struct {
	Errors     []shared.ResponseInfo                                  `json:"errors,required"`
	Messages   []shared.ResponseInfo                                  `json:"messages,required"`
	Success    bool                                                   `json:"success,required"`
	Result     RiskScoringIntegrationUpdateResponse                   `json:"result"`
	ResultInfo RiskScoringIntegrationUpdateResponseEnvelopeResultInfo `json:"result_info"`
	JSON       riskScoringIntegrationUpdateResponseEnvelopeJSON       `json:"-"`
}

func (*RiskScoringIntegrationUpdateResponseEnvelope) UnmarshalJSON

func (r *RiskScoringIntegrationUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationUpdateResponseEnvelopeResultInfo

type RiskScoringIntegrationUpdateResponseEnvelopeResultInfo struct {
	// total number of pages
	Count int64 `json:"count,required"`
	// current page
	Page int64 `json:"page,required"`
	// number of items per page
	PerPage int64 `json:"per_page,required"`
	// total number of items
	TotalCount int64                                                      `json:"total_count,required"`
	JSON       riskScoringIntegrationUpdateResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*RiskScoringIntegrationUpdateResponseEnvelopeResultInfo) UnmarshalJSON

func (r *RiskScoringIntegrationUpdateResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type RiskScoringIntegrationUpdateResponseIntegrationType

type RiskScoringIntegrationUpdateResponseIntegrationType string
const (
	RiskScoringIntegrationUpdateResponseIntegrationTypeOkta RiskScoringIntegrationUpdateResponseIntegrationType = "Okta"
)

func (RiskScoringIntegrationUpdateResponseIntegrationType) IsKnown

type RiskScoringResetResponseEnvelope

type RiskScoringResetResponseEnvelope struct {
	Errors   []shared.ResponseInfo         `json:"errors,required"`
	Messages []shared.ResponseInfo         `json:"messages,required"`
	Result   RiskScoringResetResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success RiskScoringResetResponseEnvelopeSuccess `json:"success,required"`
	JSON    riskScoringResetResponseEnvelopeJSON    `json:"-"`
}

func (*RiskScoringResetResponseEnvelope) UnmarshalJSON

func (r *RiskScoringResetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringResetResponseEnvelopeSuccess

type RiskScoringResetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RiskScoringResetResponseEnvelopeSuccessTrue RiskScoringResetResponseEnvelopeSuccess = true
)

func (RiskScoringResetResponseEnvelopeSuccess) IsKnown

type RiskScoringResetResponseUnion

type RiskScoringResetResponseUnion interface {
	ImplementsZeroTrustRiskScoringResetResponseUnion()
}

Union satisfied by zero_trust.RiskScoringResetResponseUnknown or shared.UnionString.

type RiskScoringService

type RiskScoringService struct {
	Options      []option.RequestOption
	Behaviours   *RiskScoringBehaviourService
	Summary      *RiskScoringSummaryService
	Integrations *RiskScoringIntegrationService
}

RiskScoringService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewRiskScoringService method instead.

func NewRiskScoringService

func NewRiskScoringService(opts ...option.RequestOption) (r *RiskScoringService)

NewRiskScoringService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*RiskScoringService) Get

func (r *RiskScoringService) Get(ctx context.Context, accountIdentifier string, userID string, query RiskScoringGetParams, opts ...option.RequestOption) (res *RiskScoringGetResponse, err error)

Get risk event/score information for a specific user

func (*RiskScoringService) Reset

func (r *RiskScoringService) Reset(ctx context.Context, accountIdentifier string, userID string, opts ...option.RequestOption) (res *RiskScoringResetResponseUnion, err error)

Clear the risk score for a particular user

type RiskScoringSummaryGetParams

type RiskScoringSummaryGetParams struct {
	Direction param.Field[RiskScoringSummaryGetParamsDirection] `query:"direction"`
	OrderBy   param.Field[RiskScoringSummaryGetParamsOrderBy]   `query:"order_by"`
	Page      param.Field[int64]                                `query:"page"`
	PerPage   param.Field[int64]                                `query:"per_page"`
}

func (RiskScoringSummaryGetParams) URLQuery

func (r RiskScoringSummaryGetParams) URLQuery() (v url.Values)

URLQuery serializes RiskScoringSummaryGetParams's query parameters as `url.Values`.

type RiskScoringSummaryGetParamsDirection

type RiskScoringSummaryGetParamsDirection string
const (
	RiskScoringSummaryGetParamsDirectionDesc RiskScoringSummaryGetParamsDirection = "desc"
	RiskScoringSummaryGetParamsDirectionAsc  RiskScoringSummaryGetParamsDirection = "asc"
)

func (RiskScoringSummaryGetParamsDirection) IsKnown

type RiskScoringSummaryGetParamsOrderBy

type RiskScoringSummaryGetParamsOrderBy string
const (
	RiskScoringSummaryGetParamsOrderByTimestamp    RiskScoringSummaryGetParamsOrderBy = "timestamp"
	RiskScoringSummaryGetParamsOrderByEventCount   RiskScoringSummaryGetParamsOrderBy = "event_count"
	RiskScoringSummaryGetParamsOrderByMaxRiskLevel RiskScoringSummaryGetParamsOrderBy = "max_risk_level"
)

func (RiskScoringSummaryGetParamsOrderBy) IsKnown

type RiskScoringSummaryGetResponse

type RiskScoringSummaryGetResponse struct {
	Users []RiskScoringSummaryGetResponseUser `json:"users"`
	JSON  riskScoringSummaryGetResponseJSON   `json:"-"`
}

func (*RiskScoringSummaryGetResponse) UnmarshalJSON

func (r *RiskScoringSummaryGetResponse) UnmarshalJSON(data []byte) (err error)

type RiskScoringSummaryGetResponseEnvelope

type RiskScoringSummaryGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo         `json:"errors,required"`
	Messages []shared.ResponseInfo         `json:"messages,required"`
	Result   RiskScoringSummaryGetResponse `json:"result,required"`
	// Whether the API call was successful
	Success    RiskScoringSummaryGetResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo RiskScoringSummaryGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       riskScoringSummaryGetResponseEnvelopeJSON       `json:"-"`
}

func (*RiskScoringSummaryGetResponseEnvelope) UnmarshalJSON

func (r *RiskScoringSummaryGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type RiskScoringSummaryGetResponseEnvelopeResultInfo

type RiskScoringSummaryGetResponseEnvelopeResultInfo struct {
	Count      int64                                               `json:"count,required"`
	Page       int64                                               `json:"page,required"`
	PerPage    int64                                               `json:"per_page,required"`
	TotalCount int64                                               `json:"total_count,required"`
	JSON       riskScoringSummaryGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*RiskScoringSummaryGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *RiskScoringSummaryGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type RiskScoringSummaryGetResponseEnvelopeSuccess

type RiskScoringSummaryGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	RiskScoringSummaryGetResponseEnvelopeSuccessTrue RiskScoringSummaryGetResponseEnvelopeSuccess = true
)

func (RiskScoringSummaryGetResponseEnvelopeSuccess) IsKnown

type RiskScoringSummaryGetResponseUser

type RiskScoringSummaryGetResponseUser struct {
	Email        string                                         `json:"email,required"`
	EventCount   int64                                          `json:"event_count,required"`
	LastEvent    time.Time                                      `json:"last_event,required" format:"date-time"`
	MaxRiskLevel RiskScoringSummaryGetResponseUsersMaxRiskLevel `json:"max_risk_level,required"`
	Name         string                                         `json:"name,required"`
	// The ID for a user
	UserID string                                `json:"user_id,required"`
	JSON   riskScoringSummaryGetResponseUserJSON `json:"-"`
}

func (*RiskScoringSummaryGetResponseUser) UnmarshalJSON

func (r *RiskScoringSummaryGetResponseUser) UnmarshalJSON(data []byte) (err error)

type RiskScoringSummaryGetResponseUsersMaxRiskLevel

type RiskScoringSummaryGetResponseUsersMaxRiskLevel string
const (
	RiskScoringSummaryGetResponseUsersMaxRiskLevelLow    RiskScoringSummaryGetResponseUsersMaxRiskLevel = "low"
	RiskScoringSummaryGetResponseUsersMaxRiskLevelMedium RiskScoringSummaryGetResponseUsersMaxRiskLevel = "medium"
	RiskScoringSummaryGetResponseUsersMaxRiskLevelHigh   RiskScoringSummaryGetResponseUsersMaxRiskLevel = "high"
)

func (RiskScoringSummaryGetResponseUsersMaxRiskLevel) IsKnown

type RiskScoringSummaryService

type RiskScoringSummaryService struct {
	Options []option.RequestOption
}

RiskScoringSummaryService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewRiskScoringSummaryService method instead.

func NewRiskScoringSummaryService

func NewRiskScoringSummaryService(opts ...option.RequestOption) (r *RiskScoringSummaryService)

NewRiskScoringSummaryService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*RiskScoringSummaryService) Get

Get risk score info for all users in the account

type Role

type Role = shared.Role

This is an alias to an internal type.

type Route

type Route struct {
	// UUID of the route.
	ID string `json:"id"`
	// Optional remark describing the route.
	Comment string `json:"comment"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time `json:"deleted_at" format:"date-time"`
	// The private IPv4 or IPv6 range connected by the route, in CIDR notation.
	Network string `json:"network"`
	// UUID of the tunnel.
	TunnelID string `json:"tunnel_id" format:"uuid"`
	// UUID of the virtual network.
	VirtualNetworkID string    `json:"virtual_network_id" format:"uuid"`
	JSON             routeJSON `json:"-"`
}

func (*Route) UnmarshalJSON

func (r *Route) UnmarshalJSON(data []byte) (err error)

type RuleSetting

type RuleSetting struct {
	// Add custom headers to allowed requests, in the form of key-value pairs. Keys are
	// header names, pointing to an array with its header value(s).
	AddHeaders interface{} `json:"add_headers"`
	// Set by parent MSP accounts to enable their children to bypass this rule.
	AllowChildBypass bool `json:"allow_child_bypass"`
	// Settings for the Audit SSH action.
	AuditSSH RuleSettingAuditSSH `json:"audit_ssh"`
	// Configure how browser isolation behaves.
	BISOAdminControls RuleSettingBISOAdminControls `json:"biso_admin_controls"`
	// Enable the custom block page.
	BlockPageEnabled bool `json:"block_page_enabled"`
	// The text describing why this block occurred, displayed on the custom block page
	// (if enabled).
	BlockReason string `json:"block_reason"`
	// Set by children MSP accounts to bypass their parent's rules.
	BypassParentRule bool `json:"bypass_parent_rule"`
	// Configure how session check behaves.
	CheckSession RuleSettingCheckSession `json:"check_session"`
	// Add your own custom resolvers to route queries that match the resolver policy.
	// Cannot be used when resolve_dns_through_cloudflare is set. DNS queries will
	// route to the address closest to their origin. Only valid when a rule's action is
	// set to 'resolve'.
	DNSResolvers RuleSettingDNSResolvers `json:"dns_resolvers"`
	// Configure how Gateway Proxy traffic egresses. You can enable this setting for
	// rules with Egress actions and filters, or omit it to indicate local egress via
	// WARP IPs.
	Egress RuleSettingEgress `json:"egress"`
	// Set to true, to ignore the category matches at CNAME domains in a response. If
	// unchecked, the categories in this rule will be checked against all the CNAME
	// domain categories in a response.
	IgnoreCNAMECategoryMatches bool `json:"ignore_cname_category_matches"`
	// INSECURE - disable DNSSEC validation (for Allow actions).
	InsecureDisableDNSSECValidation bool `json:"insecure_disable_dnssec_validation"`
	// Set to true to enable IPs in DNS resolver category blocks. By default categories
	// only block based on domain names.
	IPCategories bool `json:"ip_categories"`
	// Set to true to include IPs in DNS resolver indicator feed blocks. By default
	// indicator feeds only block based on domain names.
	IPIndicatorFeeds bool `json:"ip_indicator_feeds"`
	// Send matching traffic to the supplied destination IP address and port.
	L4override RuleSettingL4override `json:"l4override"`
	// Configure a notification to display on the user's device when this rule is
	// matched.
	NotificationSettings RuleSettingNotificationSettings `json:"notification_settings"`
	// Override matching DNS queries with a hostname.
	OverrideHost string `json:"override_host"`
	// Override matching DNS queries with an IP or set of IPs.
	OverrideIPs []string `json:"override_ips"`
	// Configure DLP payload logging.
	PayloadLog RuleSettingPayloadLog `json:"payload_log"`
	// Enable to send queries that match the policy to Cloudflare's default 1.1.1.1 DNS
	// resolver. Cannot be set when dns_resolvers are specified. Only valid when a
	// rule's action is set to 'resolve'.
	ResolveDNSThroughCloudflare bool `json:"resolve_dns_through_cloudflare"`
	// Configure behavior when an upstream cert is invalid or an SSL error occurs.
	UntrustedCERT RuleSettingUntrustedCERT `json:"untrusted_cert"`
	JSON          ruleSettingJSON          `json:"-"`
}

Additional settings that modify the rule's action.

func (*RuleSetting) UnmarshalJSON

func (r *RuleSetting) UnmarshalJSON(data []byte) (err error)

type RuleSettingAuditSSH

type RuleSettingAuditSSH struct {
	// Enable to turn on SSH command logging.
	CommandLogging bool                    `json:"command_logging"`
	JSON           ruleSettingAuditSSHJSON `json:"-"`
}

Settings for the Audit SSH action.

func (*RuleSettingAuditSSH) UnmarshalJSON

func (r *RuleSettingAuditSSH) UnmarshalJSON(data []byte) (err error)

type RuleSettingAuditSSHParam

type RuleSettingAuditSSHParam struct {
	// Enable to turn on SSH command logging.
	CommandLogging param.Field[bool] `json:"command_logging"`
}

Settings for the Audit SSH action.

func (RuleSettingAuditSSHParam) MarshalJSON

func (r RuleSettingAuditSSHParam) MarshalJSON() (data []byte, err error)

type RuleSettingBISOAdminControls

type RuleSettingBISOAdminControls struct {
	// Set to false to enable copy-pasting.
	DCP bool `json:"dcp"`
	// Set to false to enable downloading.
	DD bool `json:"dd"`
	// Set to false to enable keyboard usage.
	DK bool `json:"dk"`
	// Set to false to enable printing.
	DP bool `json:"dp"`
	// Set to false to enable uploading.
	DU   bool                             `json:"du"`
	JSON ruleSettingBISOAdminControlsJSON `json:"-"`
}

Configure how browser isolation behaves.

func (*RuleSettingBISOAdminControls) UnmarshalJSON

func (r *RuleSettingBISOAdminControls) UnmarshalJSON(data []byte) (err error)

type RuleSettingBISOAdminControlsParam

type RuleSettingBISOAdminControlsParam struct {
	// Set to false to enable copy-pasting.
	DCP param.Field[bool] `json:"dcp"`
	// Set to false to enable downloading.
	DD param.Field[bool] `json:"dd"`
	// Set to false to enable keyboard usage.
	DK param.Field[bool] `json:"dk"`
	// Set to false to enable printing.
	DP param.Field[bool] `json:"dp"`
	// Set to false to enable uploading.
	DU param.Field[bool] `json:"du"`
}

Configure how browser isolation behaves.

func (RuleSettingBISOAdminControlsParam) MarshalJSON

func (r RuleSettingBISOAdminControlsParam) MarshalJSON() (data []byte, err error)

type RuleSettingCheckSession

type RuleSettingCheckSession struct {
	// Configure how fresh the session needs to be to be considered valid.
	Duration string `json:"duration"`
	// Set to true to enable session enforcement.
	Enforce bool                        `json:"enforce"`
	JSON    ruleSettingCheckSessionJSON `json:"-"`
}

Configure how session check behaves.

func (*RuleSettingCheckSession) UnmarshalJSON

func (r *RuleSettingCheckSession) UnmarshalJSON(data []byte) (err error)

type RuleSettingCheckSessionParam

type RuleSettingCheckSessionParam struct {
	// Configure how fresh the session needs to be to be considered valid.
	Duration param.Field[string] `json:"duration"`
	// Set to true to enable session enforcement.
	Enforce param.Field[bool] `json:"enforce"`
}

Configure how session check behaves.

func (RuleSettingCheckSessionParam) MarshalJSON

func (r RuleSettingCheckSessionParam) MarshalJSON() (data []byte, err error)

type RuleSettingDNSResolvers

type RuleSettingDNSResolvers struct {
	IPV4 []DNSResolverSettingsV4     `json:"ipv4"`
	IPV6 []DNSResolverSettingsV6     `json:"ipv6"`
	JSON ruleSettingDNSResolversJSON `json:"-"`
}

Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve_dns_through_cloudflare is set. DNS queries will route to the address closest to their origin. Only valid when a rule's action is set to 'resolve'.

func (*RuleSettingDNSResolvers) UnmarshalJSON

func (r *RuleSettingDNSResolvers) UnmarshalJSON(data []byte) (err error)

type RuleSettingDNSResolversParam

type RuleSettingDNSResolversParam struct {
	IPV4 param.Field[[]DNSResolverSettingsV4Param] `json:"ipv4"`
	IPV6 param.Field[[]DNSResolverSettingsV6Param] `json:"ipv6"`
}

Add your own custom resolvers to route queries that match the resolver policy. Cannot be used when resolve_dns_through_cloudflare is set. DNS queries will route to the address closest to their origin. Only valid when a rule's action is set to 'resolve'.

func (RuleSettingDNSResolversParam) MarshalJSON

func (r RuleSettingDNSResolversParam) MarshalJSON() (data []byte, err error)

type RuleSettingEgress

type RuleSettingEgress struct {
	// The IPv4 address to be used for egress.
	IPV4 string `json:"ipv4"`
	// The fallback IPv4 address to be used for egress in the event of an error
	// egressing with the primary IPv4. Can be '0.0.0.0' to indicate local egress via
	// WARP IPs.
	IPV4Fallback string `json:"ipv4_fallback"`
	// The IPv6 range to be used for egress.
	IPV6 string                `json:"ipv6"`
	JSON ruleSettingEgressJSON `json:"-"`
}

Configure how Gateway Proxy traffic egresses. You can enable this setting for rules with Egress actions and filters, or omit it to indicate local egress via WARP IPs.

func (*RuleSettingEgress) UnmarshalJSON

func (r *RuleSettingEgress) UnmarshalJSON(data []byte) (err error)

type RuleSettingEgressParam

type RuleSettingEgressParam struct {
	// The IPv4 address to be used for egress.
	IPV4 param.Field[string] `json:"ipv4"`
	// The fallback IPv4 address to be used for egress in the event of an error
	// egressing with the primary IPv4. Can be '0.0.0.0' to indicate local egress via
	// WARP IPs.
	IPV4Fallback param.Field[string] `json:"ipv4_fallback"`
	// The IPv6 range to be used for egress.
	IPV6 param.Field[string] `json:"ipv6"`
}

Configure how Gateway Proxy traffic egresses. You can enable this setting for rules with Egress actions and filters, or omit it to indicate local egress via WARP IPs.

func (RuleSettingEgressParam) MarshalJSON

func (r RuleSettingEgressParam) MarshalJSON() (data []byte, err error)

type RuleSettingL4override

type RuleSettingL4override struct {
	// IPv4 or IPv6 address.
	IP string `json:"ip"`
	// A port number to use for TCP/UDP overrides.
	Port int64                     `json:"port"`
	JSON ruleSettingL4overrideJSON `json:"-"`
}

Send matching traffic to the supplied destination IP address and port.

func (*RuleSettingL4override) UnmarshalJSON

func (r *RuleSettingL4override) UnmarshalJSON(data []byte) (err error)

type RuleSettingL4overrideParam

type RuleSettingL4overrideParam struct {
	// IPv4 or IPv6 address.
	IP param.Field[string] `json:"ip"`
	// A port number to use for TCP/UDP overrides.
	Port param.Field[int64] `json:"port"`
}

Send matching traffic to the supplied destination IP address and port.

func (RuleSettingL4overrideParam) MarshalJSON

func (r RuleSettingL4overrideParam) MarshalJSON() (data []byte, err error)

type RuleSettingNotificationSettings

type RuleSettingNotificationSettings struct {
	// Set notification on
	Enabled bool `json:"enabled"`
	// Customize the message shown in the notification.
	Msg string `json:"msg"`
	// Optional URL to direct users to additional information. If not set, the
	// notification will open a block page.
	SupportURL string                              `json:"support_url"`
	JSON       ruleSettingNotificationSettingsJSON `json:"-"`
}

Configure a notification to display on the user's device when this rule is matched.

func (*RuleSettingNotificationSettings) UnmarshalJSON

func (r *RuleSettingNotificationSettings) UnmarshalJSON(data []byte) (err error)

type RuleSettingNotificationSettingsParam

type RuleSettingNotificationSettingsParam struct {
	// Set notification on
	Enabled param.Field[bool] `json:"enabled"`
	// Customize the message shown in the notification.
	Msg param.Field[string] `json:"msg"`
	// Optional URL to direct users to additional information. If not set, the
	// notification will open a block page.
	SupportURL param.Field[string] `json:"support_url"`
}

Configure a notification to display on the user's device when this rule is matched.

func (RuleSettingNotificationSettingsParam) MarshalJSON

func (r RuleSettingNotificationSettingsParam) MarshalJSON() (data []byte, err error)

type RuleSettingParam

type RuleSettingParam struct {
	// Add custom headers to allowed requests, in the form of key-value pairs. Keys are
	// header names, pointing to an array with its header value(s).
	AddHeaders param.Field[interface{}] `json:"add_headers"`
	// Set by parent MSP accounts to enable their children to bypass this rule.
	AllowChildBypass param.Field[bool] `json:"allow_child_bypass"`
	// Settings for the Audit SSH action.
	AuditSSH param.Field[RuleSettingAuditSSHParam] `json:"audit_ssh"`
	// Configure how browser isolation behaves.
	BISOAdminControls param.Field[RuleSettingBISOAdminControlsParam] `json:"biso_admin_controls"`
	// Enable the custom block page.
	BlockPageEnabled param.Field[bool] `json:"block_page_enabled"`
	// The text describing why this block occurred, displayed on the custom block page
	// (if enabled).
	BlockReason param.Field[string] `json:"block_reason"`
	// Set by children MSP accounts to bypass their parent's rules.
	BypassParentRule param.Field[bool] `json:"bypass_parent_rule"`
	// Configure how session check behaves.
	CheckSession param.Field[RuleSettingCheckSessionParam] `json:"check_session"`
	// Add your own custom resolvers to route queries that match the resolver policy.
	// Cannot be used when resolve_dns_through_cloudflare is set. DNS queries will
	// route to the address closest to their origin. Only valid when a rule's action is
	// set to 'resolve'.
	DNSResolvers param.Field[RuleSettingDNSResolversParam] `json:"dns_resolvers"`
	// Configure how Gateway Proxy traffic egresses. You can enable this setting for
	// rules with Egress actions and filters, or omit it to indicate local egress via
	// WARP IPs.
	Egress param.Field[RuleSettingEgressParam] `json:"egress"`
	// Set to true, to ignore the category matches at CNAME domains in a response. If
	// unchecked, the categories in this rule will be checked against all the CNAME
	// domain categories in a response.
	IgnoreCNAMECategoryMatches param.Field[bool] `json:"ignore_cname_category_matches"`
	// INSECURE - disable DNSSEC validation (for Allow actions).
	InsecureDisableDNSSECValidation param.Field[bool] `json:"insecure_disable_dnssec_validation"`
	// Set to true to enable IPs in DNS resolver category blocks. By default categories
	// only block based on domain names.
	IPCategories param.Field[bool] `json:"ip_categories"`
	// Set to true to include IPs in DNS resolver indicator feed blocks. By default
	// indicator feeds only block based on domain names.
	IPIndicatorFeeds param.Field[bool] `json:"ip_indicator_feeds"`
	// Send matching traffic to the supplied destination IP address and port.
	L4override param.Field[RuleSettingL4overrideParam] `json:"l4override"`
	// Configure a notification to display on the user's device when this rule is
	// matched.
	NotificationSettings param.Field[RuleSettingNotificationSettingsParam] `json:"notification_settings"`
	// Override matching DNS queries with a hostname.
	OverrideHost param.Field[string] `json:"override_host"`
	// Override matching DNS queries with an IP or set of IPs.
	OverrideIPs param.Field[[]string] `json:"override_ips"`
	// Configure DLP payload logging.
	PayloadLog param.Field[RuleSettingPayloadLogParam] `json:"payload_log"`
	// Enable to send queries that match the policy to Cloudflare's default 1.1.1.1 DNS
	// resolver. Cannot be set when dns_resolvers are specified. Only valid when a
	// rule's action is set to 'resolve'.
	ResolveDNSThroughCloudflare param.Field[bool] `json:"resolve_dns_through_cloudflare"`
	// Configure behavior when an upstream cert is invalid or an SSL error occurs.
	UntrustedCERT param.Field[RuleSettingUntrustedCERTParam] `json:"untrusted_cert"`
}

Additional settings that modify the rule's action.

func (RuleSettingParam) MarshalJSON

func (r RuleSettingParam) MarshalJSON() (data []byte, err error)

type RuleSettingPayloadLog

type RuleSettingPayloadLog struct {
	// Set to true to enable DLP payload logging for this rule.
	Enabled bool                      `json:"enabled"`
	JSON    ruleSettingPayloadLogJSON `json:"-"`
}

Configure DLP payload logging.

func (*RuleSettingPayloadLog) UnmarshalJSON

func (r *RuleSettingPayloadLog) UnmarshalJSON(data []byte) (err error)

type RuleSettingPayloadLogParam

type RuleSettingPayloadLogParam struct {
	// Set to true to enable DLP payload logging for this rule.
	Enabled param.Field[bool] `json:"enabled"`
}

Configure DLP payload logging.

func (RuleSettingPayloadLogParam) MarshalJSON

func (r RuleSettingPayloadLogParam) MarshalJSON() (data []byte, err error)

type RuleSettingUntrustedCERT

type RuleSettingUntrustedCERT struct {
	// The action performed when an untrusted certificate is seen. The default action
	// is an error with HTTP code 526.
	Action RuleSettingUntrustedCERTAction `json:"action"`
	JSON   ruleSettingUntrustedCERTJSON   `json:"-"`
}

Configure behavior when an upstream cert is invalid or an SSL error occurs.

func (*RuleSettingUntrustedCERT) UnmarshalJSON

func (r *RuleSettingUntrustedCERT) UnmarshalJSON(data []byte) (err error)

type RuleSettingUntrustedCERTAction

type RuleSettingUntrustedCERTAction string

The action performed when an untrusted certificate is seen. The default action is an error with HTTP code 526.

const (
	RuleSettingUntrustedCERTActionPassThrough RuleSettingUntrustedCERTAction = "pass_through"
	RuleSettingUntrustedCERTActionBlock       RuleSettingUntrustedCERTAction = "block"
	RuleSettingUntrustedCERTActionError       RuleSettingUntrustedCERTAction = "error"
)

func (RuleSettingUntrustedCERTAction) IsKnown

type RuleSettingUntrustedCERTParam

type RuleSettingUntrustedCERTParam struct {
	// The action performed when an untrusted certificate is seen. The default action
	// is an error with HTTP code 526.
	Action param.Field[RuleSettingUntrustedCERTAction] `json:"action"`
}

Configure behavior when an upstream cert is invalid or an SSL error occurs.

func (RuleSettingUntrustedCERTParam) MarshalJSON

func (r RuleSettingUntrustedCERTParam) MarshalJSON() (data []byte, err error)

type SAMLGroupRule

type SAMLGroupRule struct {
	SAML SAMLGroupRuleSAML `json:"saml,required"`
	JSON samlGroupRuleJSON `json:"-"`
}

Matches a SAML group. Requires a SAML identity provider.

func (*SAMLGroupRule) UnmarshalJSON

func (r *SAMLGroupRule) UnmarshalJSON(data []byte) (err error)

type SAMLGroupRuleParam

type SAMLGroupRuleParam struct {
	SAML param.Field[SAMLGroupRuleSAMLParam] `json:"saml,required"`
}

Matches a SAML group. Requires a SAML identity provider.

func (SAMLGroupRuleParam) MarshalJSON

func (r SAMLGroupRuleParam) MarshalJSON() (data []byte, err error)

type SAMLGroupRuleSAML

type SAMLGroupRuleSAML struct {
	// The name of the SAML attribute.
	AttributeName string `json:"attribute_name,required"`
	// The SAML attribute value to look for.
	AttributeValue string                `json:"attribute_value,required"`
	JSON           samlGroupRuleSAMLJSON `json:"-"`
}

func (*SAMLGroupRuleSAML) UnmarshalJSON

func (r *SAMLGroupRuleSAML) UnmarshalJSON(data []byte) (err error)

type SAMLGroupRuleSAMLParam

type SAMLGroupRuleSAMLParam struct {
	// The name of the SAML attribute.
	AttributeName param.Field[string] `json:"attribute_name,required"`
	// The SAML attribute value to look for.
	AttributeValue param.Field[string] `json:"attribute_value,required"`
}

func (SAMLGroupRuleSAMLParam) MarshalJSON

func (r SAMLGroupRuleSAMLParam) MarshalJSON() (data []byte, err error)

type SAMLSaaSApp

type SAMLSaaSApp struct {
	// Optional identifier indicating the authentication protocol used for the saas
	// app. Required for OIDC. Default if unset is "saml"
	AuthType SAMLSaaSAppAuthType `json:"auth_type"`
	// The service provider's endpoint that is responsible for receiving and parsing a
	// SAML assertion.
	ConsumerServiceURL string                      `json:"consumer_service_url"`
	CreatedAt          time.Time                   `json:"created_at" format:"date-time"`
	CustomAttributes   SAMLSaaSAppCustomAttributes `json:"custom_attributes"`
	// The URL that the user will be redirected to after a successful login for IDP
	// initiated logins.
	DefaultRelayState string `json:"default_relay_state"`
	// The unique identifier for your SaaS application.
	IdPEntityID string `json:"idp_entity_id"`
	// The format of the name identifier sent to the SaaS application.
	NameIDFormat SaaSAppNameIDFormat `json:"name_id_format"`
	// A [JSONata](https://jsonata.org/) expression that transforms an application's
	// user identities into a NameID value for its SAML assertion. This expression
	// should evaluate to a singular string. The output of this expression can override
	// the `name_id_format` setting.
	NameIDTransformJsonata string `json:"name_id_transform_jsonata"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey string `json:"public_key"`
	// A [JSONata] (https://jsonata.org/) expression that transforms an application's
	// user identities into attribute assertions in the SAML response. The expression
	// can transform id, email, name, and groups values. It can also transform fields
	// listed in the saml_attributes or oidc_fields of the identity provider used to
	// authenticate. The output of this expression must be a JSON object.
	SAMLAttributeTransformJsonata string `json:"saml_attribute_transform_jsonata"`
	// A globally unique name for an identity or service provider.
	SPEntityID string `json:"sp_entity_id"`
	// The endpoint where your SaaS application will send login requests.
	SSOEndpoint string          `json:"sso_endpoint"`
	UpdatedAt   time.Time       `json:"updated_at" format:"date-time"`
	JSON        samlSaaSAppJSON `json:"-"`
}

func (*SAMLSaaSApp) UnmarshalJSON

func (r *SAMLSaaSApp) UnmarshalJSON(data []byte) (err error)

type SAMLSaaSAppAuthType

type SAMLSaaSAppAuthType string

Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"

const (
	SAMLSaaSAppAuthTypeSAML SAMLSaaSAppAuthType = "saml"
	SAMLSaaSAppAuthTypeOIDC SAMLSaaSAppAuthType = "oidc"
)

func (SAMLSaaSAppAuthType) IsKnown

func (r SAMLSaaSAppAuthType) IsKnown() bool

type SAMLSaaSAppCustomAttributes

type SAMLSaaSAppCustomAttributes struct {
	// The SAML FriendlyName of the attribute.
	FriendlyName string `json:"friendly_name"`
	// The name of the attribute.
	Name string `json:"name"`
	// A globally unique name for an identity or service provider.
	NameFormat SaaSAppNameFormat `json:"name_format"`
	// If the attribute is required when building a SAML assertion.
	Required bool                            `json:"required"`
	Source   SaaSAppSource                   `json:"source"`
	JSON     samlSaaSAppCustomAttributesJSON `json:"-"`
}

func (*SAMLSaaSAppCustomAttributes) UnmarshalJSON

func (r *SAMLSaaSAppCustomAttributes) UnmarshalJSON(data []byte) (err error)

type SAMLSaaSAppCustomAttributesParam

type SAMLSaaSAppCustomAttributesParam struct {
	// The SAML FriendlyName of the attribute.
	FriendlyName param.Field[string] `json:"friendly_name"`
	// The name of the attribute.
	Name param.Field[string] `json:"name"`
	// A globally unique name for an identity or service provider.
	NameFormat param.Field[SaaSAppNameFormat] `json:"name_format"`
	// If the attribute is required when building a SAML assertion.
	Required param.Field[bool]               `json:"required"`
	Source   param.Field[SaaSAppSourceParam] `json:"source"`
}

func (SAMLSaaSAppCustomAttributesParam) MarshalJSON

func (r SAMLSaaSAppCustomAttributesParam) MarshalJSON() (data []byte, err error)

type SAMLSaaSAppParam

type SAMLSaaSAppParam struct {
	// Optional identifier indicating the authentication protocol used for the saas
	// app. Required for OIDC. Default if unset is "saml"
	AuthType param.Field[SAMLSaaSAppAuthType] `json:"auth_type"`
	// The service provider's endpoint that is responsible for receiving and parsing a
	// SAML assertion.
	ConsumerServiceURL param.Field[string]                           `json:"consumer_service_url"`
	CustomAttributes   param.Field[SAMLSaaSAppCustomAttributesParam] `json:"custom_attributes"`
	// The URL that the user will be redirected to after a successful login for IDP
	// initiated logins.
	DefaultRelayState param.Field[string] `json:"default_relay_state"`
	// The unique identifier for your SaaS application.
	IdPEntityID param.Field[string] `json:"idp_entity_id"`
	// The format of the name identifier sent to the SaaS application.
	NameIDFormat param.Field[SaaSAppNameIDFormat] `json:"name_id_format"`
	// A [JSONata](https://jsonata.org/) expression that transforms an application's
	// user identities into a NameID value for its SAML assertion. This expression
	// should evaluate to a singular string. The output of this expression can override
	// the `name_id_format` setting.
	NameIDTransformJsonata param.Field[string] `json:"name_id_transform_jsonata"`
	// The Access public certificate that will be used to verify your identity.
	PublicKey param.Field[string] `json:"public_key"`
	// A [JSONata] (https://jsonata.org/) expression that transforms an application's
	// user identities into attribute assertions in the SAML response. The expression
	// can transform id, email, name, and groups values. It can also transform fields
	// listed in the saml_attributes or oidc_fields of the identity provider used to
	// authenticate. The output of this expression must be a JSON object.
	SAMLAttributeTransformJsonata param.Field[string] `json:"saml_attribute_transform_jsonata"`
	// A globally unique name for an identity or service provider.
	SPEntityID param.Field[string] `json:"sp_entity_id"`
	// The endpoint where your SaaS application will send login requests.
	SSOEndpoint param.Field[string] `json:"sso_endpoint"`
}

func (SAMLSaaSAppParam) MarshalJSON

func (r SAMLSaaSAppParam) MarshalJSON() (data []byte, err error)

type SCIMConfigAuthenticationHTTPBasic

type SCIMConfigAuthenticationHTTPBasic struct {
	// Password used to authenticate with the remote SCIM service.
	Password string `json:"password,required"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme SCIMConfigAuthenticationHTTPBasicScheme `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User string                                `json:"user,required"`
	JSON scimConfigAuthenticationHTTPBasicJSON `json:"-"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (*SCIMConfigAuthenticationHTTPBasic) UnmarshalJSON

func (r *SCIMConfigAuthenticationHTTPBasic) UnmarshalJSON(data []byte) (err error)

type SCIMConfigAuthenticationHTTPBasicParam

type SCIMConfigAuthenticationHTTPBasicParam struct {
	// Password used to authenticate with the remote SCIM service.
	Password param.Field[string] `json:"password,required"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[SCIMConfigAuthenticationHTTPBasicScheme] `json:"scheme,required"`
	// User name used to authenticate with the remote SCIM service.
	User param.Field[string] `json:"user,required"`
}

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

func (SCIMConfigAuthenticationHTTPBasicParam) MarshalJSON

func (r SCIMConfigAuthenticationHTTPBasicParam) MarshalJSON() (data []byte, err error)

type SCIMConfigAuthenticationHTTPBasicScheme

type SCIMConfigAuthenticationHTTPBasicScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	SCIMConfigAuthenticationHTTPBasicSchemeHttpbasic SCIMConfigAuthenticationHTTPBasicScheme = "httpbasic"
)

func (SCIMConfigAuthenticationHTTPBasicScheme) IsKnown

type SCIMConfigAuthenticationOAuthBearerToken

type SCIMConfigAuthenticationOAuthBearerToken struct {
	// Token used to authenticate with the remote SCIM service.
	Token string `json:"token,required"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme SCIMConfigAuthenticationOAuthBearerTokenScheme `json:"scheme,required"`
	JSON   scimConfigAuthenticationOAuthBearerTokenJSON   `json:"-"`
}

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

func (*SCIMConfigAuthenticationOAuthBearerToken) UnmarshalJSON

func (r *SCIMConfigAuthenticationOAuthBearerToken) UnmarshalJSON(data []byte) (err error)

type SCIMConfigAuthenticationOAuthBearerTokenParam

type SCIMConfigAuthenticationOAuthBearerTokenParam struct {
	// Token used to authenticate with the remote SCIM service.
	Token param.Field[string] `json:"token,required"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[SCIMConfigAuthenticationOAuthBearerTokenScheme] `json:"scheme,required"`
}

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

func (SCIMConfigAuthenticationOAuthBearerTokenParam) MarshalJSON

func (r SCIMConfigAuthenticationOAuthBearerTokenParam) MarshalJSON() (data []byte, err error)

type SCIMConfigAuthenticationOAuthBearerTokenScheme

type SCIMConfigAuthenticationOAuthBearerTokenScheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	SCIMConfigAuthenticationOAuthBearerTokenSchemeOauthbearertoken SCIMConfigAuthenticationOAuthBearerTokenScheme = "oauthbearertoken"
)

func (SCIMConfigAuthenticationOAuthBearerTokenScheme) IsKnown

type SCIMConfigAuthenticationOauth2

type SCIMConfigAuthenticationOauth2 struct {
	// URL used to generate the auth code used during token generation.
	AuthorizationURL string `json:"authorization_url,required"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID string `json:"client_id,required"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret string `json:"client_secret,required"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme SCIMConfigAuthenticationOauth2Scheme `json:"scheme,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL string `json:"token_url,required"`
	// The authorization scopes to request when generating the token used to
	// authenticate with the remove SCIM service.
	Scopes []string                           `json:"scopes"`
	JSON   scimConfigAuthenticationOauth2JSON `json:"-"`
}

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

func (*SCIMConfigAuthenticationOauth2) UnmarshalJSON

func (r *SCIMConfigAuthenticationOauth2) UnmarshalJSON(data []byte) (err error)

type SCIMConfigAuthenticationOauth2Param

type SCIMConfigAuthenticationOauth2Param struct {
	// URL used to generate the auth code used during token generation.
	AuthorizationURL param.Field[string] `json:"authorization_url,required"`
	// Client ID used to authenticate when generating a token for authenticating with
	// the remote SCIM service.
	ClientID param.Field[string] `json:"client_id,required"`
	// Secret used to authenticate when generating a token for authenticating with the
	// remove SCIM service.
	ClientSecret param.Field[string] `json:"client_secret,required"`
	// The authentication scheme to use when making SCIM requests to this application.
	Scheme param.Field[SCIMConfigAuthenticationOauth2Scheme] `json:"scheme,required"`
	// URL used to generate the token used to authenticate with the remote SCIM
	// service.
	TokenURL param.Field[string] `json:"token_url,required"`
	// The authorization scopes to request when generating the token used to
	// authenticate with the remove SCIM service.
	Scopes param.Field[[]string] `json:"scopes"`
}

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

func (SCIMConfigAuthenticationOauth2Param) MarshalJSON

func (r SCIMConfigAuthenticationOauth2Param) MarshalJSON() (data []byte, err error)

type SCIMConfigAuthenticationOauth2Scheme

type SCIMConfigAuthenticationOauth2Scheme string

The authentication scheme to use when making SCIM requests to this application.

const (
	SCIMConfigAuthenticationOauth2SchemeOauth2 SCIMConfigAuthenticationOauth2Scheme = "oauth2"
)

func (SCIMConfigAuthenticationOauth2Scheme) IsKnown

type SCIMConfigMapping

type SCIMConfigMapping struct {
	// Which SCIM resource type this mapping applies to.
	Schema string `json:"schema,required"`
	// Whether or not this mapping is enabled.
	Enabled bool `json:"enabled"`
	// A
	// [SCIM filter expression](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2)
	// that matches resources that should be provisioned to this application.
	Filter string `json:"filter"`
	// Whether or not this mapping applies to creates, updates, or deletes.
	Operations SCIMConfigMappingOperations `json:"operations"`
	// A [JSONata](https://jsonata.org/) expression that transforms the resource before
	// provisioning it in the application.
	TransformJsonata string                `json:"transform_jsonata"`
	JSON             scimConfigMappingJSON `json:"-"`
}

Transformations and filters applied to resources before they are provisioned in the remote SCIM service.

func (*SCIMConfigMapping) UnmarshalJSON

func (r *SCIMConfigMapping) UnmarshalJSON(data []byte) (err error)

type SCIMConfigMappingOperations

type SCIMConfigMappingOperations struct {
	// Whether or not this mapping applies to create (POST) operations.
	Create bool `json:"create"`
	// Whether or not this mapping applies to DELETE operations.
	Delete bool `json:"delete"`
	// Whether or not this mapping applies to update (PATCH/PUT) operations.
	Update bool                            `json:"update"`
	JSON   scimConfigMappingOperationsJSON `json:"-"`
}

Whether or not this mapping applies to creates, updates, or deletes.

func (*SCIMConfigMappingOperations) UnmarshalJSON

func (r *SCIMConfigMappingOperations) UnmarshalJSON(data []byte) (err error)

type SCIMConfigMappingOperationsParam

type SCIMConfigMappingOperationsParam struct {
	// Whether or not this mapping applies to create (POST) operations.
	Create param.Field[bool] `json:"create"`
	// Whether or not this mapping applies to DELETE operations.
	Delete param.Field[bool] `json:"delete"`
	// Whether or not this mapping applies to update (PATCH/PUT) operations.
	Update param.Field[bool] `json:"update"`
}

Whether or not this mapping applies to creates, updates, or deletes.

func (SCIMConfigMappingOperationsParam) MarshalJSON

func (r SCIMConfigMappingOperationsParam) MarshalJSON() (data []byte, err error)

type SCIMConfigMappingParam

type SCIMConfigMappingParam struct {
	// Which SCIM resource type this mapping applies to.
	Schema param.Field[string] `json:"schema,required"`
	// Whether or not this mapping is enabled.
	Enabled param.Field[bool] `json:"enabled"`
	// A
	// [SCIM filter expression](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2)
	// that matches resources that should be provisioned to this application.
	Filter param.Field[string] `json:"filter"`
	// Whether or not this mapping applies to creates, updates, or deletes.
	Operations param.Field[SCIMConfigMappingOperationsParam] `json:"operations"`
	// A [JSONata](https://jsonata.org/) expression that transforms the resource before
	// provisioning it in the application.
	TransformJsonata param.Field[string] `json:"transform_jsonata"`
}

Transformations and filters applied to resources before they are provisioned in the remote SCIM service.

func (SCIMConfigMappingParam) MarshalJSON

func (r SCIMConfigMappingParam) MarshalJSON() (data []byte, err error)

type SaaSAppNameFormat

type SaaSAppNameFormat string

A globally unique name for an identity or service provider.

const (
	SaaSAppNameFormatUrnOasisNamesTcSAML2_0AttrnameFormatUnspecified SaaSAppNameFormat = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
	SaaSAppNameFormatUrnOasisNamesTcSAML2_0AttrnameFormatBasic       SaaSAppNameFormat = "urn:oasis:names:tc:SAML:2.0:attrname-format:basic"
	SaaSAppNameFormatUrnOasisNamesTcSAML2_0AttrnameFormatURI         SaaSAppNameFormat = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
)

func (SaaSAppNameFormat) IsKnown

func (r SaaSAppNameFormat) IsKnown() bool

type SaaSAppNameIDFormat

type SaaSAppNameIDFormat string

The format of the name identifier sent to the SaaS application.

const (
	SaaSAppNameIDFormatID    SaaSAppNameIDFormat = "id"
	SaaSAppNameIDFormatEmail SaaSAppNameIDFormat = "email"
)

func (SaaSAppNameIDFormat) IsKnown

func (r SaaSAppNameIDFormat) IsKnown() bool

type SaaSAppSource

type SaaSAppSource struct {
	// The name of the IdP attribute.
	Name string `json:"name"`
	// A mapping from IdP ID to attribute name.
	NameByIdP map[string]string `json:"name_by_idp"`
	JSON      SaaSAppSourceJSON `json:"-"`
}

func (*SaaSAppSource) UnmarshalJSON

func (r *SaaSAppSource) UnmarshalJSON(data []byte) (err error)

type SaaSAppSourceJSON

type SaaSAppSourceJSON struct {
	Name      apijson.Field
	NameByIdP apijson.Field

	ExtraFields map[string]apijson.Field
	// contains filtered or unexported fields
}

SaaSAppSourceJSON contains the JSON metadata for the struct SaaSAppSource

func (SaaSAppSourceJSON) RawJSON

func (r SaaSAppSourceJSON) RawJSON() string

type SaaSAppSourceParam

type SaaSAppSourceParam struct {
	// The name of the IdP attribute.
	Name param.Field[string] `json:"name"`
	// A mapping from IdP ID to attribute name.
	NameByIdP param.Field[map[string]string] `json:"name_by_idp"`
}

func (SaaSAppSourceParam) MarshalJSON

func (r SaaSAppSourceParam) MarshalJSON() (data []byte, err error)

type Schedule

type Schedule struct {
	// The time intervals when the rule will be active on Fridays, in increasing order
	// from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on
	// Fridays.
	Fri string `json:"fri"`
	// The time intervals when the rule will be active on Mondays, in increasing order
	// from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on
	// Mondays.
	Mon string `json:"mon"`
	// The time intervals when the rule will be active on Saturdays, in increasing
	// order from 00:00-24:00. If this parameter is omitted, the rule will be
	// deactivated on Saturdays.
	Sat string `json:"sat"`
	// The time intervals when the rule will be active on Sundays, in increasing order
	// from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on
	// Sundays.
	Sun string `json:"sun"`
	// The time intervals when the rule will be active on Thursdays, in increasing
	// order from 00:00-24:00. If this parameter is omitted, the rule will be
	// deactivated on Thursdays.
	Thu string `json:"thu"`
	// The time zone the rule will be evaluated against. If a
	// [valid time zone city name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)
	// is provided, Gateway will always use the current time at that time zone. If this
	// parameter is omitted, then Gateway will use the time zone inferred from the
	// user's source IP to evaluate the rule. If Gateway cannot determine the time zone
	// from the IP, we will fall back to the time zone of the user's connected data
	// center.
	TimeZone string `json:"time_zone"`
	// The time intervals when the rule will be active on Tuesdays, in increasing order
	// from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on
	// Tuesdays.
	Tue string `json:"tue"`
	// The time intervals when the rule will be active on Wednesdays, in increasing
	// order from 00:00-24:00. If this parameter is omitted, the rule will be
	// deactivated on Wednesdays.
	Wed  string       `json:"wed"`
	JSON scheduleJSON `json:"-"`
}

The schedule for activating DNS policies. This does not apply to HTTP or network policies.

func (*Schedule) UnmarshalJSON

func (r *Schedule) UnmarshalJSON(data []byte) (err error)

type ScheduleParam

type ScheduleParam struct {
	// The time intervals when the rule will be active on Fridays, in increasing order
	// from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on
	// Fridays.
	Fri param.Field[string] `json:"fri"`
	// The time intervals when the rule will be active on Mondays, in increasing order
	// from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on
	// Mondays.
	Mon param.Field[string] `json:"mon"`
	// The time intervals when the rule will be active on Saturdays, in increasing
	// order from 00:00-24:00. If this parameter is omitted, the rule will be
	// deactivated on Saturdays.
	Sat param.Field[string] `json:"sat"`
	// The time intervals when the rule will be active on Sundays, in increasing order
	// from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on
	// Sundays.
	Sun param.Field[string] `json:"sun"`
	// The time intervals when the rule will be active on Thursdays, in increasing
	// order from 00:00-24:00. If this parameter is omitted, the rule will be
	// deactivated on Thursdays.
	Thu param.Field[string] `json:"thu"`
	// The time zone the rule will be evaluated against. If a
	// [valid time zone city name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)
	// is provided, Gateway will always use the current time at that time zone. If this
	// parameter is omitted, then Gateway will use the time zone inferred from the
	// user's source IP to evaluate the rule. If Gateway cannot determine the time zone
	// from the IP, we will fall back to the time zone of the user's connected data
	// center.
	TimeZone param.Field[string] `json:"time_zone"`
	// The time intervals when the rule will be active on Tuesdays, in increasing order
	// from 00:00-24:00. If this parameter is omitted, the rule will be deactivated on
	// Tuesdays.
	Tue param.Field[string] `json:"tue"`
	// The time intervals when the rule will be active on Wednesdays, in increasing
	// order from 00:00-24:00. If this parameter is omitted, the rule will be
	// deactivated on Wednesdays.
	Wed param.Field[string] `json:"wed"`
}

The schedule for activating DNS policies. This does not apply to HTTP or network policies.

func (ScheduleParam) MarshalJSON

func (r ScheduleParam) MarshalJSON() (data []byte, err error)

type SchemaData

type SchemaData struct {
	// The desired endpoint to test.
	Host string `json:"host"`
	// The type of test.
	Kind string `json:"kind"`
	// The HTTP request method type.
	Method string         `json:"method"`
	JSON   schemaDataJSON `json:"-"`
}

The configuration object which contains the details for the WARP client to conduct the test.

func (*SchemaData) UnmarshalJSON

func (r *SchemaData) UnmarshalJSON(data []byte) (err error)

type SchemaDataParam

type SchemaDataParam struct {
	// The desired endpoint to test.
	Host param.Field[string] `json:"host"`
	// The type of test.
	Kind param.Field[string] `json:"kind"`
	// The HTTP request method type.
	Method param.Field[string] `json:"method"`
}

The configuration object which contains the details for the WARP client to conduct the test.

func (SchemaDataParam) MarshalJSON

func (r SchemaDataParam) MarshalJSON() (data []byte, err error)

type SchemaHTTP

type SchemaHTTP struct {
	// The configuration object which contains the details for the WARP client to
	// conduct the test.
	Data SchemaData `json:"data,required"`
	// Determines whether or not the test is active.
	Enabled bool `json:"enabled,required"`
	// How often the test will run.
	Interval string `json:"interval,required"`
	// The name of the DEX test. Must be unique.
	Name string `json:"name,required"`
	// Additional details about the test.
	Description string `json:"description"`
	// Device settings profiles targeted by this test
	TargetPolicies []SchemaHTTPTargetPolicy `json:"target_policies"`
	Targeted       bool                     `json:"targeted"`
	JSON           schemaHTTPJSON           `json:"-"`
}

func (*SchemaHTTP) UnmarshalJSON

func (r *SchemaHTTP) UnmarshalJSON(data []byte) (err error)

type SchemaHTTPParam

type SchemaHTTPParam struct {
	// The configuration object which contains the details for the WARP client to
	// conduct the test.
	Data param.Field[SchemaDataParam] `json:"data,required"`
	// Determines whether or not the test is active.
	Enabled param.Field[bool] `json:"enabled,required"`
	// How often the test will run.
	Interval param.Field[string] `json:"interval,required"`
	// The name of the DEX test. Must be unique.
	Name param.Field[string] `json:"name,required"`
	// Additional details about the test.
	Description param.Field[string] `json:"description"`
	// Device settings profiles targeted by this test
	TargetPolicies param.Field[[]SchemaHTTPTargetPolicyParam] `json:"target_policies"`
	Targeted       param.Field[bool]                          `json:"targeted"`
}

func (SchemaHTTPParam) MarshalJSON

func (r SchemaHTTPParam) MarshalJSON() (data []byte, err error)

type SchemaHTTPTargetPolicy

type SchemaHTTPTargetPolicy struct {
	// The id of the device settings profile
	ID string `json:"id"`
	// Whether the profile is the account default
	Default bool `json:"default"`
	// The name of the device settings profile
	Name string                     `json:"name"`
	JSON schemaHTTPTargetPolicyJSON `json:"-"`
}

func (*SchemaHTTPTargetPolicy) UnmarshalJSON

func (r *SchemaHTTPTargetPolicy) UnmarshalJSON(data []byte) (err error)

type SchemaHTTPTargetPolicyParam

type SchemaHTTPTargetPolicyParam struct {
	// The id of the device settings profile
	ID param.Field[string] `json:"id"`
	// Whether the profile is the account default
	Default param.Field[bool] `json:"default"`
	// The name of the device settings profile
	Name param.Field[string] `json:"name"`
}

func (SchemaHTTPTargetPolicyParam) MarshalJSON

func (r SchemaHTTPTargetPolicyParam) MarshalJSON() (data []byte, err error)

type Seat

type Seat struct {
	// True if the seat is part of Access.
	AccessSeat bool      `json:"access_seat"`
	CreatedAt  time.Time `json:"created_at" format:"date-time"`
	// True if the seat is part of Gateway.
	GatewaySeat bool `json:"gateway_seat"`
	// The unique API identifier for the Zero Trust seat.
	SeatUID   string    `json:"seat_uid"`
	UpdatedAt time.Time `json:"updated_at" format:"date-time"`
	JSON      seatJSON  `json:"-"`
}

func (*Seat) UnmarshalJSON

func (r *Seat) UnmarshalJSON(data []byte) (err error)

type SeatEditParams

type SeatEditParams struct {
	Body []SeatEditParamsBody `json:"body,required"`
}

func (SeatEditParams) MarshalJSON

func (r SeatEditParams) MarshalJSON() (data []byte, err error)

type SeatEditParamsBody

type SeatEditParamsBody struct {
	// True if the seat is part of Access.
	AccessSeat param.Field[bool] `json:"access_seat,required"`
	// True if the seat is part of Gateway.
	GatewaySeat param.Field[bool] `json:"gateway_seat,required"`
	// The unique API identifier for the Zero Trust seat.
	SeatUID param.Field[string] `json:"seat_uid,required"`
}

func (SeatEditParamsBody) MarshalJSON

func (r SeatEditParamsBody) MarshalJSON() (data []byte, err error)

type SeatEditResponseEnvelope

type SeatEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// Whether the API call was successful
	Success    SeatEditResponseEnvelopeSuccess    `json:"success,required"`
	Result     []Seat                             `json:"result,nullable"`
	ResultInfo SeatEditResponseEnvelopeResultInfo `json:"result_info"`
	JSON       seatEditResponseEnvelopeJSON       `json:"-"`
}

func (*SeatEditResponseEnvelope) UnmarshalJSON

func (r *SeatEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type SeatEditResponseEnvelopeResultInfo

type SeatEditResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                `json:"total_count"`
	JSON       seatEditResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*SeatEditResponseEnvelopeResultInfo) UnmarshalJSON

func (r *SeatEditResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type SeatEditResponseEnvelopeSuccess

type SeatEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	SeatEditResponseEnvelopeSuccessTrue SeatEditResponseEnvelopeSuccess = true
)

func (SeatEditResponseEnvelopeSuccess) IsKnown

type SeatService

type SeatService struct {
	Options []option.RequestOption
}

SeatService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewSeatService method instead.

func NewSeatService

func NewSeatService(opts ...option.RequestOption) (r *SeatService)

NewSeatService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*SeatService) Edit

func (r *SeatService) Edit(ctx context.Context, accountID string, body SeatEditParams, opts ...option.RequestOption) (res *[]Seat, err error)

Removes a user from a Zero Trust seat when both `access_seat` and `gateway_seat` are set to false.

type SelfHostedDomains

type SelfHostedDomains = string

type SelfHostedDomainsParam

type SelfHostedDomainsParam = string

type SentineloneInput

type SentineloneInput struct {
	// Operating system
	OperatingSystem SentineloneInputOperatingSystem `json:"operating_system,required"`
	// File path.
	Path string `json:"path,required"`
	// SHA-256.
	Sha256 string `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint string               `json:"thumbprint"`
	JSON       sentineloneInputJSON `json:"-"`
}

func (*SentineloneInput) UnmarshalJSON

func (r *SentineloneInput) UnmarshalJSON(data []byte) (err error)

type SentineloneInputOperatingSystem

type SentineloneInputOperatingSystem string

Operating system

const (
	SentineloneInputOperatingSystemWindows SentineloneInputOperatingSystem = "windows"
	SentineloneInputOperatingSystemLinux   SentineloneInputOperatingSystem = "linux"
	SentineloneInputOperatingSystemMac     SentineloneInputOperatingSystem = "mac"
)

func (SentineloneInputOperatingSystem) IsKnown

type SentineloneInputParam

type SentineloneInputParam struct {
	// Operating system
	OperatingSystem param.Field[SentineloneInputOperatingSystem] `json:"operating_system,required"`
	// File path.
	Path param.Field[string] `json:"path,required"`
	// SHA-256.
	Sha256 param.Field[string] `json:"sha256"`
	// Signing certificate thumbprint.
	Thumbprint param.Field[string] `json:"thumbprint"`
}

func (SentineloneInputParam) MarshalJSON

func (r SentineloneInputParam) MarshalJSON() (data []byte, err error)

type SentineloneS2sInput

type SentineloneS2sInput struct {
	// Posture Integration ID.
	ConnectionID string `json:"connection_id,required"`
	// The Number of active threats.
	ActiveThreats float64 `json:"active_threats"`
	// Whether device is infected.
	Infected bool `json:"infected"`
	// Whether device is active.
	IsActive bool `json:"is_active"`
	// Network status of device.
	NetworkStatus SentineloneS2sInputNetworkStatus `json:"network_status"`
	// operator
	Operator SentineloneS2sInputOperator `json:"operator"`
	JSON     sentineloneS2sInputJSON     `json:"-"`
}

func (*SentineloneS2sInput) UnmarshalJSON

func (r *SentineloneS2sInput) UnmarshalJSON(data []byte) (err error)

type SentineloneS2sInputNetworkStatus

type SentineloneS2sInputNetworkStatus string

Network status of device.

const (
	SentineloneS2sInputNetworkStatusConnected     SentineloneS2sInputNetworkStatus = "connected"
	SentineloneS2sInputNetworkStatusDisconnected  SentineloneS2sInputNetworkStatus = "disconnected"
	SentineloneS2sInputNetworkStatusDisconnecting SentineloneS2sInputNetworkStatus = "disconnecting"
	SentineloneS2sInputNetworkStatusConnecting    SentineloneS2sInputNetworkStatus = "connecting"
)

func (SentineloneS2sInputNetworkStatus) IsKnown

type SentineloneS2sInputOperator

type SentineloneS2sInputOperator string

operator

const (
	SentineloneS2sInputOperatorLess            SentineloneS2sInputOperator = "<"
	SentineloneS2sInputOperatorLessOrEquals    SentineloneS2sInputOperator = "<="
	SentineloneS2sInputOperatorGreater         SentineloneS2sInputOperator = ">"
	SentineloneS2sInputOperatorGreaterOrEquals SentineloneS2sInputOperator = ">="
	SentineloneS2sInputOperatorEquals          SentineloneS2sInputOperator = "=="
)

func (SentineloneS2sInputOperator) IsKnown

func (r SentineloneS2sInputOperator) IsKnown() bool

type SentineloneS2sInputParam

type SentineloneS2sInputParam struct {
	// Posture Integration ID.
	ConnectionID param.Field[string] `json:"connection_id,required"`
	// The Number of active threats.
	ActiveThreats param.Field[float64] `json:"active_threats"`
	// Whether device is infected.
	Infected param.Field[bool] `json:"infected"`
	// Whether device is active.
	IsActive param.Field[bool] `json:"is_active"`
	// Network status of device.
	NetworkStatus param.Field[SentineloneS2sInputNetworkStatus] `json:"network_status"`
	// operator
	Operator param.Field[SentineloneS2sInputOperator] `json:"operator"`
}

func (SentineloneS2sInputParam) MarshalJSON

func (r SentineloneS2sInputParam) MarshalJSON() (data []byte, err error)

type ServiceToken

type ServiceToken struct {
	// The ID of the service token.
	ID string `json:"id"`
	// The Client ID for the service token. Access will check for this value in the
	// `CF-Access-Client-ID` request header.
	ClientID  string    `json:"client_id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// The duration for how long the service token will be valid. Must be in the format
	// `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms, s, m, h. The
	// default is 1 year in hours (8760h).
	Duration string `json:"duration"`
	// The name of the service token.
	Name      string           `json:"name"`
	UpdatedAt time.Time        `json:"updated_at" format:"date-time"`
	JSON      serviceTokenJSON `json:"-"`
}

func (*ServiceToken) UnmarshalJSON

func (r *ServiceToken) UnmarshalJSON(data []byte) (err error)

type ServiceTokenRule

type ServiceTokenRule struct {
	ServiceToken ServiceTokenRuleServiceToken `json:"service_token,required"`
	JSON         serviceTokenRuleJSON         `json:"-"`
}

Matches a specific Access Service Token

func (*ServiceTokenRule) UnmarshalJSON

func (r *ServiceTokenRule) UnmarshalJSON(data []byte) (err error)

type ServiceTokenRuleParam

type ServiceTokenRuleParam struct {
	ServiceToken param.Field[ServiceTokenRuleServiceTokenParam] `json:"service_token,required"`
}

Matches a specific Access Service Token

func (ServiceTokenRuleParam) MarshalJSON

func (r ServiceTokenRuleParam) MarshalJSON() (data []byte, err error)

type ServiceTokenRuleServiceToken

type ServiceTokenRuleServiceToken struct {
	// The ID of a Service Token.
	TokenID string                           `json:"token_id,required"`
	JSON    serviceTokenRuleServiceTokenJSON `json:"-"`
}

func (*ServiceTokenRuleServiceToken) UnmarshalJSON

func (r *ServiceTokenRuleServiceToken) UnmarshalJSON(data []byte) (err error)

type ServiceTokenRuleServiceTokenParam

type ServiceTokenRuleServiceTokenParam struct {
	// The ID of a Service Token.
	TokenID param.Field[string] `json:"token_id,required"`
}

func (ServiceTokenRuleServiceTokenParam) MarshalJSON

func (r ServiceTokenRuleServiceTokenParam) MarshalJSON() (data []byte, err error)

type SettingsPolicy

type SettingsPolicy struct {
	// Whether to allow the user to switch WARP between modes.
	AllowModeSwitch bool `json:"allow_mode_switch"`
	// Whether to receive update notifications when a new version of the client is
	// available.
	AllowUpdates bool `json:"allow_updates"`
	// Whether to allow devices to leave the organization.
	AllowedToLeave bool `json:"allowed_to_leave"`
	// The amount of time in minutes to reconnect after having been disabled.
	AutoConnect float64 `json:"auto_connect"`
	// Turn on the captive portal after the specified amount of time.
	CaptivePortal float64 `json:"captive_portal"`
	// Whether the policy is the default policy for an account.
	Default bool `json:"default"`
	// A description of the policy.
	Description string `json:"description"`
	// If the `dns_server` field of a fallback domain is not present, the client will
	// fall back to a best guess of the default/system DNS resolvers unless this policy
	// option is set to `true`.
	DisableAutoFallback bool `json:"disable_auto_fallback"`
	// Whether the policy will be applied to matching devices.
	Enabled bool                 `json:"enabled"`
	Exclude []SplitTunnelExclude `json:"exclude"`
	// Whether to add Microsoft IPs to Split Tunnel exclusions.
	ExcludeOfficeIPs bool                 `json:"exclude_office_ips"`
	FallbackDomains  []FallbackDomain     `json:"fallback_domains"`
	GatewayUniqueID  string               `json:"gateway_unique_id"`
	Include          []SplitTunnelInclude `json:"include"`
	// The amount of time in minutes a user is allowed access to their LAN. A value of
	// 0 will allow LAN access until the next WARP reconnection, such as a reboot or a
	// laptop waking from sleep. Note that this field is omitted from the response if
	// null or unset.
	LANAllowMinutes float64 `json:"lan_allow_minutes"`
	// The size of the subnet for the local access network. Note that this field is
	// omitted from the response if null or unset.
	LANAllowSubnetSize float64 `json:"lan_allow_subnet_size"`
	// The wirefilter expression to match devices.
	Match string `json:"match"`
	// The name of the device settings profile.
	Name string `json:"name"`
	// Device ID.
	PolicyID string `json:"policy_id"`
	// The precedence of the policy. Lower values indicate higher precedence. Policies
	// will be evaluated in ascending order of this field.
	Precedence    float64                     `json:"precedence"`
	ServiceModeV2 SettingsPolicyServiceModeV2 `json:"service_mode_v2"`
	// The URL to launch when the Send Feedback button is clicked.
	SupportURL string `json:"support_url"`
	// Whether to allow the user to turn off the WARP switch and disconnect the client.
	SwitchLocked bool                       `json:"switch_locked"`
	TargetTests  []SettingsPolicyTargetTest `json:"target_tests"`
	JSON         settingsPolicyJSON         `json:"-"`
}

func (*SettingsPolicy) UnmarshalJSON

func (r *SettingsPolicy) UnmarshalJSON(data []byte) (err error)

type SettingsPolicyServiceModeV2

type SettingsPolicyServiceModeV2 struct {
	// The mode to run the WARP client under.
	Mode string `json:"mode"`
	// The port number when used with proxy mode.
	Port float64                         `json:"port"`
	JSON settingsPolicyServiceModeV2JSON `json:"-"`
}

func (*SettingsPolicyServiceModeV2) UnmarshalJSON

func (r *SettingsPolicyServiceModeV2) UnmarshalJSON(data []byte) (err error)

type SettingsPolicyTargetTest

type SettingsPolicyTargetTest struct {
	// The id of the DEX test targeting this policy
	ID string `json:"id"`
	// The name of the DEX test targeting this policy
	Name string                       `json:"name"`
	JSON settingsPolicyTargetTestJSON `json:"-"`
}

func (*SettingsPolicyTargetTest) UnmarshalJSON

func (r *SettingsPolicyTargetTest) UnmarshalJSON(data []byte) (err error)

type SkipConfiguration

type SkipConfiguration struct {
	// If the content type is a file, skip context analysis and return all matches.
	Files bool                  `json:"files,required"`
	JSON  skipConfigurationJSON `json:"-"`
}

Content types to exclude from context analysis and return all matches.

func (*SkipConfiguration) UnmarshalJSON

func (r *SkipConfiguration) UnmarshalJSON(data []byte) (err error)

type SkipConfigurationParam

type SkipConfigurationParam struct {
	// If the content type is a file, skip context analysis and return all matches.
	Files param.Field[bool] `json:"files,required"`
}

Content types to exclude from context analysis and return all matches.

func (SkipConfigurationParam) MarshalJSON

func (r SkipConfigurationParam) MarshalJSON() (data []byte, err error)

type SortDirection

type SortDirection = shared.SortDirection

Direction to order DNS records in.

This is an alias to an internal type.

type SplitTunnelExclude

type SplitTunnelExclude struct {
	// The address in CIDR format to exclude from the tunnel. If `address` is present,
	// `host` must not be present.
	Address string `json:"address,required"`
	// A description of the Split Tunnel item, displayed in the client UI.
	Description string `json:"description,required"`
	// The domain name to exclude from the tunnel. If `host` is present, `address` must
	// not be present.
	Host string                 `json:"host"`
	JSON splitTunnelExcludeJSON `json:"-"`
}

func (*SplitTunnelExclude) UnmarshalJSON

func (r *SplitTunnelExclude) UnmarshalJSON(data []byte) (err error)

type SplitTunnelExcludeParam

type SplitTunnelExcludeParam struct {
	// The address in CIDR format to exclude from the tunnel. If `address` is present,
	// `host` must not be present.
	Address param.Field[string] `json:"address,required"`
	// A description of the Split Tunnel item, displayed in the client UI.
	Description param.Field[string] `json:"description,required"`
	// The domain name to exclude from the tunnel. If `host` is present, `address` must
	// not be present.
	Host param.Field[string] `json:"host"`
}

func (SplitTunnelExcludeParam) MarshalJSON

func (r SplitTunnelExcludeParam) MarshalJSON() (data []byte, err error)

type SplitTunnelInclude

type SplitTunnelInclude struct {
	// The address in CIDR format to include in the tunnel. If address is present, host
	// must not be present.
	Address string `json:"address,required"`
	// A description of the split tunnel item, displayed in the client UI.
	Description string `json:"description,required"`
	// The domain name to include in the tunnel. If host is present, address must not
	// be present.
	Host string                 `json:"host"`
	JSON splitTunnelIncludeJSON `json:"-"`
}

func (*SplitTunnelInclude) UnmarshalJSON

func (r *SplitTunnelInclude) UnmarshalJSON(data []byte) (err error)

type SplitTunnelIncludeParam

type SplitTunnelIncludeParam struct {
	// The address in CIDR format to include in the tunnel. If address is present, host
	// must not be present.
	Address param.Field[string] `json:"address,required"`
	// A description of the split tunnel item, displayed in the client UI.
	Description param.Field[string] `json:"description,required"`
	// The domain name to include in the tunnel. If host is present, address must not
	// be present.
	Host param.Field[string] `json:"host"`
}

func (SplitTunnelIncludeParam) MarshalJSON

func (r SplitTunnelIncludeParam) MarshalJSON() (data []byte, err error)

type TLSSettings

type TLSSettings struct {
	// Enable inspecting encrypted HTTP traffic.
	Enabled bool            `json:"enabled"`
	JSON    tlsSettingsJSON `json:"-"`
}

TLS interception settings.

func (*TLSSettings) UnmarshalJSON

func (r *TLSSettings) UnmarshalJSON(data []byte) (err error)

type TLSSettingsParam

type TLSSettingsParam struct {
	// Enable inspecting encrypted HTTP traffic.
	Enabled param.Field[bool] `json:"enabled"`
}

TLS interception settings.

func (TLSSettingsParam) MarshalJSON

func (r TLSSettingsParam) MarshalJSON() (data []byte, err error)

type Tag

type Tag struct {
	// The name of the tag
	Name string `json:"name,required"`
	// The number of applications that have this tag
	AppCount  int64     `json:"app_count"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	UpdatedAt time.Time `json:"updated_at" format:"date-time"`
	JSON      tagJSON   `json:"-"`
}

A tag

func (*Tag) UnmarshalJSON

func (r *Tag) UnmarshalJSON(data []byte) (err error)

type TaniumInput

type TaniumInput struct {
	// Posture Integration ID.
	ConnectionID string `json:"connection_id,required"`
	// For more details on eid last seen, refer to the Tanium documentation.
	EidLastSeen string `json:"eid_last_seen"`
	// Operator to evaluate risk_level or eid_last_seen.
	Operator TaniumInputOperator `json:"operator"`
	// For more details on risk level, refer to the Tanium documentation.
	RiskLevel TaniumInputRiskLevel `json:"risk_level"`
	// Score Operator
	ScoreOperator TaniumInputScoreOperator `json:"scoreOperator"`
	// For more details on total score, refer to the Tanium documentation.
	TotalScore float64         `json:"total_score"`
	JSON       taniumInputJSON `json:"-"`
}

func (*TaniumInput) UnmarshalJSON

func (r *TaniumInput) UnmarshalJSON(data []byte) (err error)

type TaniumInputOperator

type TaniumInputOperator string

Operator to evaluate risk_level or eid_last_seen.

const (
	TaniumInputOperatorLess            TaniumInputOperator = "<"
	TaniumInputOperatorLessOrEquals    TaniumInputOperator = "<="
	TaniumInputOperatorGreater         TaniumInputOperator = ">"
	TaniumInputOperatorGreaterOrEquals TaniumInputOperator = ">="
	TaniumInputOperatorEquals          TaniumInputOperator = "=="
)

func (TaniumInputOperator) IsKnown

func (r TaniumInputOperator) IsKnown() bool

type TaniumInputParam

type TaniumInputParam struct {
	// Posture Integration ID.
	ConnectionID param.Field[string] `json:"connection_id,required"`
	// For more details on eid last seen, refer to the Tanium documentation.
	EidLastSeen param.Field[string] `json:"eid_last_seen"`
	// Operator to evaluate risk_level or eid_last_seen.
	Operator param.Field[TaniumInputOperator] `json:"operator"`
	// For more details on risk level, refer to the Tanium documentation.
	RiskLevel param.Field[TaniumInputRiskLevel] `json:"risk_level"`
	// Score Operator
	ScoreOperator param.Field[TaniumInputScoreOperator] `json:"scoreOperator"`
	// For more details on total score, refer to the Tanium documentation.
	TotalScore param.Field[float64] `json:"total_score"`
}

func (TaniumInputParam) MarshalJSON

func (r TaniumInputParam) MarshalJSON() (data []byte, err error)

type TaniumInputRiskLevel

type TaniumInputRiskLevel string

For more details on risk level, refer to the Tanium documentation.

const (
	TaniumInputRiskLevelLow      TaniumInputRiskLevel = "low"
	TaniumInputRiskLevelMedium   TaniumInputRiskLevel = "medium"
	TaniumInputRiskLevelHigh     TaniumInputRiskLevel = "high"
	TaniumInputRiskLevelCritical TaniumInputRiskLevel = "critical"
)

func (TaniumInputRiskLevel) IsKnown

func (r TaniumInputRiskLevel) IsKnown() bool

type TaniumInputScoreOperator

type TaniumInputScoreOperator string

Score Operator

const (
	TaniumInputScoreOperatorLess            TaniumInputScoreOperator = "<"
	TaniumInputScoreOperatorLessOrEquals    TaniumInputScoreOperator = "<="
	TaniumInputScoreOperatorGreater         TaniumInputScoreOperator = ">"
	TaniumInputScoreOperatorGreaterOrEquals TaniumInputScoreOperator = ">="
	TaniumInputScoreOperatorEquals          TaniumInputScoreOperator = "=="
)

func (TaniumInputScoreOperator) IsKnown

func (r TaniumInputScoreOperator) IsKnown() bool

type Teamnet

type Teamnet struct {
	// UUID of the route.
	ID string `json:"id"`
	// Optional remark describing the route.
	Comment string `json:"comment"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time `json:"deleted_at" format:"date-time"`
	// The private IPv4 or IPv6 range connected by the route, in CIDR notation.
	Network string `json:"network"`
	// The type of tunnel.
	TunType TeamnetTunType `json:"tun_type"`
	// UUID of the tunnel.
	TunnelID string `json:"tunnel_id" format:"uuid"`
	// A user-friendly name for a tunnel.
	TunnelName string `json:"tunnel_name"`
	// UUID of the virtual network.
	VirtualNetworkID string `json:"virtual_network_id" format:"uuid"`
	// A user-friendly name for the virtual network.
	VirtualNetworkName string      `json:"virtual_network_name"`
	JSON               teamnetJSON `json:"-"`
}

func (*Teamnet) UnmarshalJSON

func (r *Teamnet) UnmarshalJSON(data []byte) (err error)

type TeamnetTunType

type TeamnetTunType string

The type of tunnel.

const (
	TeamnetTunTypeCfdTunnel     TeamnetTunType = "cfd_tunnel"
	TeamnetTunTypeWARPConnector TeamnetTunType = "warp_connector"
	TeamnetTunTypeIPSec         TeamnetTunType = "ip_sec"
	TeamnetTunTypeGRE           TeamnetTunType = "gre"
	TeamnetTunTypeCNI           TeamnetTunType = "cni"
)

func (TeamnetTunType) IsKnown

func (r TeamnetTunType) IsKnown() bool

type TestStatOverTime

type TestStatOverTime struct {
	Slots []TestStatOverTimeSlot `json:"slots,required"`
	// average observed in the time period
	Avg int64 `json:"avg,nullable"`
	// highest observed in the time period
	Max int64 `json:"max,nullable"`
	// lowest observed in the time period
	Min  int64                `json:"min,nullable"`
	JSON testStatOverTimeJSON `json:"-"`
}

func (*TestStatOverTime) UnmarshalJSON

func (r *TestStatOverTime) UnmarshalJSON(data []byte) (err error)

type TestStatOverTimeSlot

type TestStatOverTimeSlot struct {
	Timestamp string                   `json:"timestamp,required"`
	Value     int64                    `json:"value,required"`
	JSON      testStatOverTimeSlotJSON `json:"-"`
}

func (*TestStatOverTimeSlot) UnmarshalJSON

func (r *TestStatOverTimeSlot) UnmarshalJSON(data []byte) (err error)

type Tests

type Tests struct {
	OverviewMetrics TestsOverviewMetrics `json:"overviewMetrics,required"`
	// array of test results objects.
	Tests []TestsTest `json:"tests,required"`
	JSON  testsJSON   `json:"-"`
}

func (*Tests) UnmarshalJSON

func (r *Tests) UnmarshalJSON(data []byte) (err error)

type TestsOverviewMetrics

type TestsOverviewMetrics struct {
	// number of tests.
	TestsTotal int64 `json:"testsTotal,required"`
	// percentage availability for all HTTP test results in response
	AvgHTTPAvailabilityPct float64 `json:"avgHttpAvailabilityPct,nullable"`
	// percentage availability for all traceroutes results in response
	AvgTracerouteAvailabilityPct float64                  `json:"avgTracerouteAvailabilityPct,nullable"`
	JSON                         testsOverviewMetricsJSON `json:"-"`
}

func (*TestsOverviewMetrics) UnmarshalJSON

func (r *TestsOverviewMetrics) UnmarshalJSON(data []byte) (err error)

type TestsTest

type TestsTest struct {
	// API Resource UUID tag.
	ID string `json:"id,required"`
	// date the test was created.
	Created string `json:"created,required"`
	// the test description defined during configuration
	Description string `json:"description,required"`
	// if true, then the test will run on targeted devices. Else, the test will not
	// run.
	Enabled bool   `json:"enabled,required"`
	Host    string `json:"host,required"`
	// The interval at which the synthetic application test is set to run.
	Interval string `json:"interval,required"`
	// test type, http or traceroute
	Kind TestsTestsKind `json:"kind,required"`
	// name given to this test
	Name              string                        `json:"name,required"`
	Updated           string                        `json:"updated,required"`
	HTTPResults       TestsTestsHTTPResults         `json:"httpResults,nullable"`
	HTTPResultsByColo []TestsTestsHTTPResultsByColo `json:"httpResultsByColo"`
	// for HTTP, the method to use when running the test
	Method                  string                              `json:"method"`
	TargetPolicies          []DeviceExperienceMonitor           `json:"target_policies,nullable"`
	Targeted                bool                                `json:"targeted"`
	TracerouteResults       TestsTestsTracerouteResults         `json:"tracerouteResults,nullable"`
	TracerouteResultsByColo []TestsTestsTracerouteResultsByColo `json:"tracerouteResultsByColo"`
	JSON                    testsTestJSON                       `json:"-"`
}

func (*TestsTest) UnmarshalJSON

func (r *TestsTest) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResults

type TestsTestsHTTPResults struct {
	ResourceFetchTime TestsTestsHTTPResultsResourceFetchTime `json:"resourceFetchTime,required"`
	JSON              testsTestsHTTPResultsJSON              `json:"-"`
}

func (*TestsTestsHTTPResults) UnmarshalJSON

func (r *TestsTestsHTTPResults) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResultsByColo

type TestsTestsHTTPResultsByColo struct {
	// Cloudflare colo
	Colo              string                                       `json:"colo,required"`
	ResourceFetchTime TestsTestsHTTPResultsByColoResourceFetchTime `json:"resourceFetchTime,required"`
	JSON              testsTestsHTTPResultsByColoJSON              `json:"-"`
}

func (*TestsTestsHTTPResultsByColo) UnmarshalJSON

func (r *TestsTestsHTTPResultsByColo) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResultsByColoResourceFetchTime

type TestsTestsHTTPResultsByColoResourceFetchTime struct {
	History  []TestsTestsHTTPResultsByColoResourceFetchTimeHistory `json:"history,required"`
	AvgMs    int64                                                 `json:"avgMs,nullable"`
	OverTime TestsTestsHTTPResultsByColoResourceFetchTimeOverTime  `json:"overTime,nullable"`
	JSON     testsTestsHTTPResultsByColoResourceFetchTimeJSON      `json:"-"`
}

func (*TestsTestsHTTPResultsByColoResourceFetchTime) UnmarshalJSON

func (r *TestsTestsHTTPResultsByColoResourceFetchTime) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResultsByColoResourceFetchTimeHistory

type TestsTestsHTTPResultsByColoResourceFetchTimeHistory struct {
	TimePeriod AggregateTimePeriod                                     `json:"timePeriod,required"`
	AvgMs      int64                                                   `json:"avgMs,nullable"`
	DeltaPct   float64                                                 `json:"deltaPct,nullable"`
	JSON       testsTestsHTTPResultsByColoResourceFetchTimeHistoryJSON `json:"-"`
}

func (*TestsTestsHTTPResultsByColoResourceFetchTimeHistory) UnmarshalJSON

func (r *TestsTestsHTTPResultsByColoResourceFetchTimeHistory) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResultsByColoResourceFetchTimeOverTime

type TestsTestsHTTPResultsByColoResourceFetchTimeOverTime struct {
	TimePeriod AggregateTimePeriod                                         `json:"timePeriod,required"`
	Values     []TestsTestsHTTPResultsByColoResourceFetchTimeOverTimeValue `json:"values,required"`
	JSON       testsTestsHTTPResultsByColoResourceFetchTimeOverTimeJSON    `json:"-"`
}

func (*TestsTestsHTTPResultsByColoResourceFetchTimeOverTime) UnmarshalJSON

func (r *TestsTestsHTTPResultsByColoResourceFetchTimeOverTime) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResultsByColoResourceFetchTimeOverTimeValue

type TestsTestsHTTPResultsByColoResourceFetchTimeOverTimeValue struct {
	AvgMs     int64                                                         `json:"avgMs,required"`
	Timestamp string                                                        `json:"timestamp,required"`
	JSON      testsTestsHTTPResultsByColoResourceFetchTimeOverTimeValueJSON `json:"-"`
}

func (*TestsTestsHTTPResultsByColoResourceFetchTimeOverTimeValue) UnmarshalJSON

type TestsTestsHTTPResultsResourceFetchTime

type TestsTestsHTTPResultsResourceFetchTime struct {
	History  []TestsTestsHTTPResultsResourceFetchTimeHistory `json:"history,required"`
	AvgMs    int64                                           `json:"avgMs,nullable"`
	OverTime TestsTestsHTTPResultsResourceFetchTimeOverTime  `json:"overTime,nullable"`
	JSON     testsTestsHTTPResultsResourceFetchTimeJSON      `json:"-"`
}

func (*TestsTestsHTTPResultsResourceFetchTime) UnmarshalJSON

func (r *TestsTestsHTTPResultsResourceFetchTime) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResultsResourceFetchTimeHistory

type TestsTestsHTTPResultsResourceFetchTimeHistory struct {
	TimePeriod AggregateTimePeriod                               `json:"timePeriod,required"`
	AvgMs      int64                                             `json:"avgMs,nullable"`
	DeltaPct   float64                                           `json:"deltaPct,nullable"`
	JSON       testsTestsHTTPResultsResourceFetchTimeHistoryJSON `json:"-"`
}

func (*TestsTestsHTTPResultsResourceFetchTimeHistory) UnmarshalJSON

func (r *TestsTestsHTTPResultsResourceFetchTimeHistory) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResultsResourceFetchTimeOverTime

type TestsTestsHTTPResultsResourceFetchTimeOverTime struct {
	TimePeriod AggregateTimePeriod                                   `json:"timePeriod,required"`
	Values     []TestsTestsHTTPResultsResourceFetchTimeOverTimeValue `json:"values,required"`
	JSON       testsTestsHTTPResultsResourceFetchTimeOverTimeJSON    `json:"-"`
}

func (*TestsTestsHTTPResultsResourceFetchTimeOverTime) UnmarshalJSON

func (r *TestsTestsHTTPResultsResourceFetchTimeOverTime) UnmarshalJSON(data []byte) (err error)

type TestsTestsHTTPResultsResourceFetchTimeOverTimeValue

type TestsTestsHTTPResultsResourceFetchTimeOverTimeValue struct {
	AvgMs     int64                                                   `json:"avgMs,required"`
	Timestamp string                                                  `json:"timestamp,required"`
	JSON      testsTestsHTTPResultsResourceFetchTimeOverTimeValueJSON `json:"-"`
}

func (*TestsTestsHTTPResultsResourceFetchTimeOverTimeValue) UnmarshalJSON

func (r *TestsTestsHTTPResultsResourceFetchTimeOverTimeValue) UnmarshalJSON(data []byte) (err error)

type TestsTestsKind

type TestsTestsKind string

test type, http or traceroute

const (
	TestsTestsKindHTTP       TestsTestsKind = "http"
	TestsTestsKindTraceroute TestsTestsKind = "traceroute"
)

func (TestsTestsKind) IsKnown

func (r TestsTestsKind) IsKnown() bool

type TestsTestsTracerouteResults

type TestsTestsTracerouteResults struct {
	RoundTripTime TestsTestsTracerouteResultsRoundTripTime `json:"roundTripTime,required"`
	JSON          testsTestsTracerouteResultsJSON          `json:"-"`
}

func (*TestsTestsTracerouteResults) UnmarshalJSON

func (r *TestsTestsTracerouteResults) UnmarshalJSON(data []byte) (err error)

type TestsTestsTracerouteResultsByColo

type TestsTestsTracerouteResultsByColo struct {
	// Cloudflare colo
	Colo          string                                         `json:"colo,required"`
	RoundTripTime TestsTestsTracerouteResultsByColoRoundTripTime `json:"roundTripTime,required"`
	JSON          testsTestsTracerouteResultsByColoJSON          `json:"-"`
}

func (*TestsTestsTracerouteResultsByColo) UnmarshalJSON

func (r *TestsTestsTracerouteResultsByColo) UnmarshalJSON(data []byte) (err error)

type TestsTestsTracerouteResultsByColoRoundTripTime

type TestsTestsTracerouteResultsByColoRoundTripTime struct {
	History  []TestsTestsTracerouteResultsByColoRoundTripTimeHistory `json:"history,required"`
	AvgMs    int64                                                   `json:"avgMs,nullable"`
	OverTime TestsTestsTracerouteResultsByColoRoundTripTimeOverTime  `json:"overTime,nullable"`
	JSON     testsTestsTracerouteResultsByColoRoundTripTimeJSON      `json:"-"`
}

func (*TestsTestsTracerouteResultsByColoRoundTripTime) UnmarshalJSON

func (r *TestsTestsTracerouteResultsByColoRoundTripTime) UnmarshalJSON(data []byte) (err error)

type TestsTestsTracerouteResultsByColoRoundTripTimeHistory

type TestsTestsTracerouteResultsByColoRoundTripTimeHistory struct {
	TimePeriod AggregateTimePeriod                                       `json:"timePeriod,required"`
	AvgMs      int64                                                     `json:"avgMs,nullable"`
	DeltaPct   float64                                                   `json:"deltaPct,nullable"`
	JSON       testsTestsTracerouteResultsByColoRoundTripTimeHistoryJSON `json:"-"`
}

func (*TestsTestsTracerouteResultsByColoRoundTripTimeHistory) UnmarshalJSON

func (r *TestsTestsTracerouteResultsByColoRoundTripTimeHistory) UnmarshalJSON(data []byte) (err error)

type TestsTestsTracerouteResultsByColoRoundTripTimeOverTime

type TestsTestsTracerouteResultsByColoRoundTripTimeOverTime struct {
	TimePeriod AggregateTimePeriod                                           `json:"timePeriod,required"`
	Values     []TestsTestsTracerouteResultsByColoRoundTripTimeOverTimeValue `json:"values,required"`
	JSON       testsTestsTracerouteResultsByColoRoundTripTimeOverTimeJSON    `json:"-"`
}

func (*TestsTestsTracerouteResultsByColoRoundTripTimeOverTime) UnmarshalJSON

func (r *TestsTestsTracerouteResultsByColoRoundTripTimeOverTime) UnmarshalJSON(data []byte) (err error)

type TestsTestsTracerouteResultsByColoRoundTripTimeOverTimeValue

type TestsTestsTracerouteResultsByColoRoundTripTimeOverTimeValue struct {
	AvgMs     int64                                                           `json:"avgMs,required"`
	Timestamp string                                                          `json:"timestamp,required"`
	JSON      testsTestsTracerouteResultsByColoRoundTripTimeOverTimeValueJSON `json:"-"`
}

func (*TestsTestsTracerouteResultsByColoRoundTripTimeOverTimeValue) UnmarshalJSON

type TestsTestsTracerouteResultsRoundTripTime

type TestsTestsTracerouteResultsRoundTripTime struct {
	History  []TestsTestsTracerouteResultsRoundTripTimeHistory `json:"history,required"`
	AvgMs    int64                                             `json:"avgMs,nullable"`
	OverTime TestsTestsTracerouteResultsRoundTripTimeOverTime  `json:"overTime,nullable"`
	JSON     testsTestsTracerouteResultsRoundTripTimeJSON      `json:"-"`
}

func (*TestsTestsTracerouteResultsRoundTripTime) UnmarshalJSON

func (r *TestsTestsTracerouteResultsRoundTripTime) UnmarshalJSON(data []byte) (err error)

type TestsTestsTracerouteResultsRoundTripTimeHistory

type TestsTestsTracerouteResultsRoundTripTimeHistory struct {
	TimePeriod AggregateTimePeriod                                 `json:"timePeriod,required"`
	AvgMs      int64                                               `json:"avgMs,nullable"`
	DeltaPct   float64                                             `json:"deltaPct,nullable"`
	JSON       testsTestsTracerouteResultsRoundTripTimeHistoryJSON `json:"-"`
}

func (*TestsTestsTracerouteResultsRoundTripTimeHistory) UnmarshalJSON

func (r *TestsTestsTracerouteResultsRoundTripTimeHistory) UnmarshalJSON(data []byte) (err error)

type TestsTestsTracerouteResultsRoundTripTimeOverTime

type TestsTestsTracerouteResultsRoundTripTimeOverTime struct {
	TimePeriod AggregateTimePeriod                                     `json:"timePeriod,required"`
	Values     []TestsTestsTracerouteResultsRoundTripTimeOverTimeValue `json:"values,required"`
	JSON       testsTestsTracerouteResultsRoundTripTimeOverTimeJSON    `json:"-"`
}

func (*TestsTestsTracerouteResultsRoundTripTimeOverTime) UnmarshalJSON

func (r *TestsTestsTracerouteResultsRoundTripTimeOverTime) UnmarshalJSON(data []byte) (err error)

type TestsTestsTracerouteResultsRoundTripTimeOverTimeValue

type TestsTestsTracerouteResultsRoundTripTimeOverTimeValue struct {
	AvgMs     int64                                                     `json:"avgMs,required"`
	Timestamp string                                                    `json:"timestamp,required"`
	JSON      testsTestsTracerouteResultsRoundTripTimeOverTimeValueJSON `json:"-"`
}

func (*TestsTestsTracerouteResultsRoundTripTimeOverTimeValue) UnmarshalJSON

func (r *TestsTestsTracerouteResultsRoundTripTimeOverTimeValue) UnmarshalJSON(data []byte) (err error)

type Traceroute

type Traceroute struct {
	// The host of the Traceroute synthetic application test
	Host string `json:"host,required"`
	// The interval at which the Traceroute synthetic application test is set to run.
	Interval string         `json:"interval,required"`
	Kind     TracerouteKind `json:"kind,required"`
	// The name of the Traceroute synthetic application test
	Name                  string                            `json:"name,required"`
	TargetPolicies        []DeviceExperienceMonitor         `json:"target_policies,nullable"`
	Targeted              bool                              `json:"targeted"`
	TracerouteStats       TracerouteTracerouteStats         `json:"tracerouteStats,nullable"`
	TracerouteStatsByColo []TracerouteTracerouteStatsByColo `json:"tracerouteStatsByColo"`
	JSON                  tracerouteJSON                    `json:"-"`
}

func (*Traceroute) UnmarshalJSON

func (r *Traceroute) UnmarshalJSON(data []byte) (err error)

type TracerouteKind

type TracerouteKind string
const (
	TracerouteKindTraceroute TracerouteKind = "traceroute"
)

func (TracerouteKind) IsKnown

func (r TracerouteKind) IsKnown() bool

type TracerouteTracerouteStats

type TracerouteTracerouteStats struct {
	AvailabilityPct TracerouteTracerouteStatsAvailabilityPct `json:"availabilityPct,required"`
	HopsCount       TestStatOverTime                         `json:"hopsCount,required"`
	PacketLossPct   TracerouteTracerouteStatsPacketLossPct   `json:"packetLossPct,required"`
	RoundTripTimeMs TestStatOverTime                         `json:"roundTripTimeMs,required"`
	// Count of unique devices that have run this test in the given time period
	UniqueDevicesTotal int64                         `json:"uniqueDevicesTotal,required"`
	JSON               tracerouteTracerouteStatsJSON `json:"-"`
}

func (*TracerouteTracerouteStats) UnmarshalJSON

func (r *TracerouteTracerouteStats) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsAvailabilityPct

type TracerouteTracerouteStatsAvailabilityPct struct {
	Slots []TracerouteTracerouteStatsAvailabilityPctSlot `json:"slots,required"`
	// average observed in the time period
	Avg float64 `json:"avg,nullable"`
	// highest observed in the time period
	Max float64 `json:"max,nullable"`
	// lowest observed in the time period
	Min  float64                                      `json:"min,nullable"`
	JSON tracerouteTracerouteStatsAvailabilityPctJSON `json:"-"`
}

func (*TracerouteTracerouteStatsAvailabilityPct) UnmarshalJSON

func (r *TracerouteTracerouteStatsAvailabilityPct) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsAvailabilityPctSlot

type TracerouteTracerouteStatsAvailabilityPctSlot struct {
	Timestamp string                                           `json:"timestamp,required"`
	Value     float64                                          `json:"value,required"`
	JSON      tracerouteTracerouteStatsAvailabilityPctSlotJSON `json:"-"`
}

func (*TracerouteTracerouteStatsAvailabilityPctSlot) UnmarshalJSON

func (r *TracerouteTracerouteStatsAvailabilityPctSlot) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsByColo

type TracerouteTracerouteStatsByColo struct {
	AvailabilityPct TracerouteTracerouteStatsByColoAvailabilityPct `json:"availabilityPct,required"`
	Colo            string                                         `json:"colo,required"`
	HopsCount       TestStatOverTime                               `json:"hopsCount,required"`
	PacketLossPct   TracerouteTracerouteStatsByColoPacketLossPct   `json:"packetLossPct,required"`
	RoundTripTimeMs TestStatOverTime                               `json:"roundTripTimeMs,required"`
	// Count of unique devices that have run this test in the given time period
	UniqueDevicesTotal int64                               `json:"uniqueDevicesTotal,required"`
	JSON               tracerouteTracerouteStatsByColoJSON `json:"-"`
}

func (*TracerouteTracerouteStatsByColo) UnmarshalJSON

func (r *TracerouteTracerouteStatsByColo) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsByColoAvailabilityPct

type TracerouteTracerouteStatsByColoAvailabilityPct struct {
	Slots []TracerouteTracerouteStatsByColoAvailabilityPctSlot `json:"slots,required"`
	// average observed in the time period
	Avg float64 `json:"avg,nullable"`
	// highest observed in the time period
	Max float64 `json:"max,nullable"`
	// lowest observed in the time period
	Min  float64                                            `json:"min,nullable"`
	JSON tracerouteTracerouteStatsByColoAvailabilityPctJSON `json:"-"`
}

func (*TracerouteTracerouteStatsByColoAvailabilityPct) UnmarshalJSON

func (r *TracerouteTracerouteStatsByColoAvailabilityPct) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsByColoAvailabilityPctSlot

type TracerouteTracerouteStatsByColoAvailabilityPctSlot struct {
	Timestamp string                                                 `json:"timestamp,required"`
	Value     float64                                                `json:"value,required"`
	JSON      tracerouteTracerouteStatsByColoAvailabilityPctSlotJSON `json:"-"`
}

func (*TracerouteTracerouteStatsByColoAvailabilityPctSlot) UnmarshalJSON

func (r *TracerouteTracerouteStatsByColoAvailabilityPctSlot) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsByColoPacketLossPct

type TracerouteTracerouteStatsByColoPacketLossPct struct {
	Slots []TracerouteTracerouteStatsByColoPacketLossPctSlot `json:"slots,required"`
	// average observed in the time period
	Avg float64 `json:"avg,nullable"`
	// highest observed in the time period
	Max float64 `json:"max,nullable"`
	// lowest observed in the time period
	Min  float64                                          `json:"min,nullable"`
	JSON tracerouteTracerouteStatsByColoPacketLossPctJSON `json:"-"`
}

func (*TracerouteTracerouteStatsByColoPacketLossPct) UnmarshalJSON

func (r *TracerouteTracerouteStatsByColoPacketLossPct) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsByColoPacketLossPctSlot

type TracerouteTracerouteStatsByColoPacketLossPctSlot struct {
	Timestamp string                                               `json:"timestamp,required"`
	Value     float64                                              `json:"value,required"`
	JSON      tracerouteTracerouteStatsByColoPacketLossPctSlotJSON `json:"-"`
}

func (*TracerouteTracerouteStatsByColoPacketLossPctSlot) UnmarshalJSON

func (r *TracerouteTracerouteStatsByColoPacketLossPctSlot) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsPacketLossPct

type TracerouteTracerouteStatsPacketLossPct struct {
	Slots []TracerouteTracerouteStatsPacketLossPctSlot `json:"slots,required"`
	// average observed in the time period
	Avg float64 `json:"avg,nullable"`
	// highest observed in the time period
	Max float64 `json:"max,nullable"`
	// lowest observed in the time period
	Min  float64                                    `json:"min,nullable"`
	JSON tracerouteTracerouteStatsPacketLossPctJSON `json:"-"`
}

func (*TracerouteTracerouteStatsPacketLossPct) UnmarshalJSON

func (r *TracerouteTracerouteStatsPacketLossPct) UnmarshalJSON(data []byte) (err error)

type TracerouteTracerouteStatsPacketLossPctSlot

type TracerouteTracerouteStatsPacketLossPctSlot struct {
	Timestamp string                                         `json:"timestamp,required"`
	Value     float64                                        `json:"value,required"`
	JSON      tracerouteTracerouteStatsPacketLossPctSlotJSON `json:"-"`
}

func (*TracerouteTracerouteStatsPacketLossPctSlot) UnmarshalJSON

func (r *TracerouteTracerouteStatsPacketLossPctSlot) UnmarshalJSON(data []byte) (err error)

type TunnelConfigurationGetResponseArray

type TunnelConfigurationGetResponseArray []interface{}

func (TunnelConfigurationGetResponseArray) ImplementsZeroTrustTunnelConfigurationGetResponseUnion

func (r TunnelConfigurationGetResponseArray) ImplementsZeroTrustTunnelConfigurationGetResponseUnion()

type TunnelConfigurationGetResponseEnvelope

type TunnelConfigurationGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo               `json:"errors,required"`
	Messages []shared.ResponseInfo               `json:"messages,required"`
	Result   TunnelConfigurationGetResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success TunnelConfigurationGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelConfigurationGetResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelConfigurationGetResponseEnvelope) UnmarshalJSON

func (r *TunnelConfigurationGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelConfigurationGetResponseEnvelopeSuccess

type TunnelConfigurationGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelConfigurationGetResponseEnvelopeSuccessTrue TunnelConfigurationGetResponseEnvelopeSuccess = true
)

func (TunnelConfigurationGetResponseEnvelopeSuccess) IsKnown

type TunnelConfigurationGetResponseUnion

type TunnelConfigurationGetResponseUnion interface {
	ImplementsZeroTrustTunnelConfigurationGetResponseUnion()
}

Union satisfied by zero_trust.TunnelConfigurationGetResponseUnknown, zero_trust.TunnelConfigurationGetResponseArray or shared.UnionString.

type TunnelConfigurationService

type TunnelConfigurationService struct {
	Options []option.RequestOption
}

TunnelConfigurationService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewTunnelConfigurationService method instead.

func NewTunnelConfigurationService

func NewTunnelConfigurationService(opts ...option.RequestOption) (r *TunnelConfigurationService)

NewTunnelConfigurationService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*TunnelConfigurationService) Get

Gets the configuration for a remotely-managed tunnel

func (*TunnelConfigurationService) Update

Adds or updates the configuration for a remotely-managed tunnel.

type TunnelConfigurationUpdateParams

type TunnelConfigurationUpdateParams struct {
	// The tunnel configuration and ingress rules.
	Config param.Field[TunnelConfigurationUpdateParamsConfig] `json:"config"`
}

func (TunnelConfigurationUpdateParams) MarshalJSON

func (r TunnelConfigurationUpdateParams) MarshalJSON() (data []byte, err error)

type TunnelConfigurationUpdateParamsConfig

type TunnelConfigurationUpdateParamsConfig struct {
	// List of public hostname definitions
	Ingress param.Field[[]TunnelConfigurationUpdateParamsConfigIngress] `json:"ingress"`
	// Configuration parameters for the public hostname specific connection settings
	// between cloudflared and origin server.
	OriginRequest param.Field[TunnelConfigurationUpdateParamsConfigOriginRequest] `json:"originRequest"`
	// Enable private network access from WARP users to private network routes
	WARPRouting param.Field[TunnelConfigurationUpdateParamsConfigWARPRouting] `json:"warp-routing"`
}

The tunnel configuration and ingress rules.

func (TunnelConfigurationUpdateParamsConfig) MarshalJSON

func (r TunnelConfigurationUpdateParamsConfig) MarshalJSON() (data []byte, err error)

type TunnelConfigurationUpdateParamsConfigIngress

type TunnelConfigurationUpdateParamsConfigIngress struct {
	// Public hostname for this service.
	Hostname param.Field[string] `json:"hostname,required"`
	// Protocol and address of destination server. Supported protocols: http://,
	// https://, unix://, tcp://, ssh://, rdp://, unix+tls://, smb://. Alternatively
	// can return a HTTP status code http_status:[code] e.g. 'http_status:404'.
	Service param.Field[string] `json:"service,required"`
	// Configuration parameters for the public hostname specific connection settings
	// between cloudflared and origin server.
	OriginRequest param.Field[TunnelConfigurationUpdateParamsConfigIngressOriginRequest] `json:"originRequest"`
	// Requests with this path route to this public hostname.
	Path param.Field[string] `json:"path"`
}

Public hostname

func (TunnelConfigurationUpdateParamsConfigIngress) MarshalJSON

func (r TunnelConfigurationUpdateParamsConfigIngress) MarshalJSON() (data []byte, err error)

type TunnelConfigurationUpdateParamsConfigIngressOriginRequest

type TunnelConfigurationUpdateParamsConfigIngressOriginRequest struct {
	// For all L7 requests to this hostname, cloudflared will validate each request's
	// Cf-Access-Jwt-Assertion request header.
	Access param.Field[TunnelConfigurationUpdateParamsConfigIngressOriginRequestAccess] `json:"access"`
	// Path to the certificate authority (CA) for the certificate of your origin. This
	// option should be used only if your certificate is not signed by Cloudflare.
	CAPool param.Field[string] `json:"caPool"`
	// Timeout for establishing a new TCP connection to your origin server. This
	// excludes the time taken to establish TLS, which is controlled by tlsTimeout.
	ConnectTimeout param.Field[int64] `json:"connectTimeout"`
	// Disables chunked transfer encoding. Useful if you are running a WSGI server.
	DisableChunkedEncoding param.Field[bool] `json:"disableChunkedEncoding"`
	// Attempt to connect to origin using HTTP2. Origin must be configured as https.
	HTTP2Origin param.Field[bool] `json:"http2Origin"`
	// Sets the HTTP Host header on requests sent to the local service.
	HTTPHostHeader param.Field[string] `json:"httpHostHeader"`
	// Maximum number of idle keepalive connections between Tunnel and your origin.
	// This does not restrict the total number of concurrent connections.
	KeepAliveConnections param.Field[int64] `json:"keepAliveConnections"`
	// Timeout after which an idle keepalive connection can be discarded.
	KeepAliveTimeout param.Field[int64] `json:"keepAliveTimeout"`
	// Disable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local
	// network has misconfigured one of the protocols.
	NoHappyEyeballs param.Field[bool] `json:"noHappyEyeballs"`
	// Disables TLS verification of the certificate presented by your origin. Will
	// allow any certificate from the origin to be accepted.
	NoTLSVerify param.Field[bool] `json:"noTLSVerify"`
	// Hostname that cloudflared should expect from your origin server certificate.
	OriginServerName param.Field[string] `json:"originServerName"`
	// cloudflared starts a proxy server to translate HTTP traffic into TCP when
	// proxying, for example, SSH or RDP. This configures what type of proxy will be
	// started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5
	// proxy.
	ProxyType param.Field[string] `json:"proxyType"`
	// The timeout after which a TCP keepalive packet is sent on a connection between
	// Tunnel and the origin server.
	TCPKeepAlive param.Field[int64] `json:"tcpKeepAlive"`
	// Timeout for completing a TLS handshake to your origin server, if you have chosen
	// to connect Tunnel to an HTTPS server.
	TLSTimeout param.Field[int64] `json:"tlsTimeout"`
}

Configuration parameters for the public hostname specific connection settings between cloudflared and origin server.

func (TunnelConfigurationUpdateParamsConfigIngressOriginRequest) MarshalJSON

type TunnelConfigurationUpdateParamsConfigIngressOriginRequestAccess

type TunnelConfigurationUpdateParamsConfigIngressOriginRequestAccess struct {
	// Access applications that are allowed to reach this hostname for this Tunnel.
	// Audience tags can be identified in the dashboard or via the List Access policies
	// API.
	AUDTag   param.Field[[]string] `json:"audTag,required"`
	TeamName param.Field[string]   `json:"teamName,required"`
	// Deny traffic that has not fulfilled Access authorization.
	Required param.Field[bool] `json:"required"`
}

For all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.

func (TunnelConfigurationUpdateParamsConfigIngressOriginRequestAccess) MarshalJSON

type TunnelConfigurationUpdateParamsConfigOriginRequest

type TunnelConfigurationUpdateParamsConfigOriginRequest struct {
	// For all L7 requests to this hostname, cloudflared will validate each request's
	// Cf-Access-Jwt-Assertion request header.
	Access param.Field[TunnelConfigurationUpdateParamsConfigOriginRequestAccess] `json:"access"`
	// Path to the certificate authority (CA) for the certificate of your origin. This
	// option should be used only if your certificate is not signed by Cloudflare.
	CAPool param.Field[string] `json:"caPool"`
	// Timeout for establishing a new TCP connection to your origin server. This
	// excludes the time taken to establish TLS, which is controlled by tlsTimeout.
	ConnectTimeout param.Field[int64] `json:"connectTimeout"`
	// Disables chunked transfer encoding. Useful if you are running a WSGI server.
	DisableChunkedEncoding param.Field[bool] `json:"disableChunkedEncoding"`
	// Attempt to connect to origin using HTTP2. Origin must be configured as https.
	HTTP2Origin param.Field[bool] `json:"http2Origin"`
	// Sets the HTTP Host header on requests sent to the local service.
	HTTPHostHeader param.Field[string] `json:"httpHostHeader"`
	// Maximum number of idle keepalive connections between Tunnel and your origin.
	// This does not restrict the total number of concurrent connections.
	KeepAliveConnections param.Field[int64] `json:"keepAliveConnections"`
	// Timeout after which an idle keepalive connection can be discarded.
	KeepAliveTimeout param.Field[int64] `json:"keepAliveTimeout"`
	// Disable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local
	// network has misconfigured one of the protocols.
	NoHappyEyeballs param.Field[bool] `json:"noHappyEyeballs"`
	// Disables TLS verification of the certificate presented by your origin. Will
	// allow any certificate from the origin to be accepted.
	NoTLSVerify param.Field[bool] `json:"noTLSVerify"`
	// Hostname that cloudflared should expect from your origin server certificate.
	OriginServerName param.Field[string] `json:"originServerName"`
	// cloudflared starts a proxy server to translate HTTP traffic into TCP when
	// proxying, for example, SSH or RDP. This configures what type of proxy will be
	// started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5
	// proxy.
	ProxyType param.Field[string] `json:"proxyType"`
	// The timeout after which a TCP keepalive packet is sent on a connection between
	// Tunnel and the origin server.
	TCPKeepAlive param.Field[int64] `json:"tcpKeepAlive"`
	// Timeout for completing a TLS handshake to your origin server, if you have chosen
	// to connect Tunnel to an HTTPS server.
	TLSTimeout param.Field[int64] `json:"tlsTimeout"`
}

Configuration parameters for the public hostname specific connection settings between cloudflared and origin server.

func (TunnelConfigurationUpdateParamsConfigOriginRequest) MarshalJSON

func (r TunnelConfigurationUpdateParamsConfigOriginRequest) MarshalJSON() (data []byte, err error)

type TunnelConfigurationUpdateParamsConfigOriginRequestAccess

type TunnelConfigurationUpdateParamsConfigOriginRequestAccess struct {
	// Access applications that are allowed to reach this hostname for this Tunnel.
	// Audience tags can be identified in the dashboard or via the List Access policies
	// API.
	AUDTag   param.Field[[]string] `json:"audTag,required"`
	TeamName param.Field[string]   `json:"teamName,required"`
	// Deny traffic that has not fulfilled Access authorization.
	Required param.Field[bool] `json:"required"`
}

For all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.

func (TunnelConfigurationUpdateParamsConfigOriginRequestAccess) MarshalJSON

type TunnelConfigurationUpdateParamsConfigWARPRouting

type TunnelConfigurationUpdateParamsConfigWARPRouting struct {
	Enabled param.Field[bool] `json:"enabled"`
}

Enable private network access from WARP users to private network routes

func (TunnelConfigurationUpdateParamsConfigWARPRouting) MarshalJSON

func (r TunnelConfigurationUpdateParamsConfigWARPRouting) MarshalJSON() (data []byte, err error)

type TunnelConfigurationUpdateResponseArray

type TunnelConfigurationUpdateResponseArray []interface{}

func (TunnelConfigurationUpdateResponseArray) ImplementsZeroTrustTunnelConfigurationUpdateResponseUnion

func (r TunnelConfigurationUpdateResponseArray) ImplementsZeroTrustTunnelConfigurationUpdateResponseUnion()

type TunnelConfigurationUpdateResponseEnvelope

type TunnelConfigurationUpdateResponseEnvelope struct {
	Errors   []shared.ResponseInfo                  `json:"errors,required"`
	Messages []shared.ResponseInfo                  `json:"messages,required"`
	Result   TunnelConfigurationUpdateResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success TunnelConfigurationUpdateResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelConfigurationUpdateResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelConfigurationUpdateResponseEnvelope) UnmarshalJSON

func (r *TunnelConfigurationUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelConfigurationUpdateResponseEnvelopeSuccess

type TunnelConfigurationUpdateResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelConfigurationUpdateResponseEnvelopeSuccessTrue TunnelConfigurationUpdateResponseEnvelopeSuccess = true
)

func (TunnelConfigurationUpdateResponseEnvelopeSuccess) IsKnown

type TunnelConfigurationUpdateResponseUnion

type TunnelConfigurationUpdateResponseUnion interface {
	ImplementsZeroTrustTunnelConfigurationUpdateResponseUnion()
}

Union satisfied by zero_trust.TunnelConfigurationUpdateResponseUnknown, zero_trust.TunnelConfigurationUpdateResponseArray or shared.UnionString.

type TunnelConnectionDeleteResponseArray

type TunnelConnectionDeleteResponseArray []interface{}

func (TunnelConnectionDeleteResponseArray) ImplementsZeroTrustTunnelConnectionDeleteResponseUnion

func (r TunnelConnectionDeleteResponseArray) ImplementsZeroTrustTunnelConnectionDeleteResponseUnion()

type TunnelConnectionDeleteResponseEnvelope

type TunnelConnectionDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo               `json:"errors,required"`
	Messages []shared.ResponseInfo               `json:"messages,required"`
	Result   TunnelConnectionDeleteResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success TunnelConnectionDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelConnectionDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelConnectionDeleteResponseEnvelope) UnmarshalJSON

func (r *TunnelConnectionDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelConnectionDeleteResponseEnvelopeSuccess

type TunnelConnectionDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelConnectionDeleteResponseEnvelopeSuccessTrue TunnelConnectionDeleteResponseEnvelopeSuccess = true
)

func (TunnelConnectionDeleteResponseEnvelopeSuccess) IsKnown

type TunnelConnectionDeleteResponseUnion

type TunnelConnectionDeleteResponseUnion interface {
	ImplementsZeroTrustTunnelConnectionDeleteResponseUnion()
}

Union satisfied by zero_trust.TunnelConnectionDeleteResponseUnknown, zero_trust.TunnelConnectionDeleteResponseArray or shared.UnionString.

type TunnelConnectionGetResponseEnvelope

type TunnelConnectionGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   []Client              `json:"result,required,nullable"`
	// Whether the API call was successful
	Success    TunnelConnectionGetResponseEnvelopeSuccess    `json:"success,required"`
	ResultInfo TunnelConnectionGetResponseEnvelopeResultInfo `json:"result_info"`
	JSON       tunnelConnectionGetResponseEnvelopeJSON       `json:"-"`
}

func (*TunnelConnectionGetResponseEnvelope) UnmarshalJSON

func (r *TunnelConnectionGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelConnectionGetResponseEnvelopeResultInfo

type TunnelConnectionGetResponseEnvelopeResultInfo struct {
	// Total number of results for the requested service
	Count float64 `json:"count"`
	// Current page within paginated list of results
	Page float64 `json:"page"`
	// Number of results per page of results
	PerPage float64 `json:"per_page"`
	// Total results available without any search parameters
	TotalCount float64                                           `json:"total_count"`
	JSON       tunnelConnectionGetResponseEnvelopeResultInfoJSON `json:"-"`
}

func (*TunnelConnectionGetResponseEnvelopeResultInfo) UnmarshalJSON

func (r *TunnelConnectionGetResponseEnvelopeResultInfo) UnmarshalJSON(data []byte) (err error)

type TunnelConnectionGetResponseEnvelopeSuccess

type TunnelConnectionGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelConnectionGetResponseEnvelopeSuccessTrue TunnelConnectionGetResponseEnvelopeSuccess = true
)

func (TunnelConnectionGetResponseEnvelopeSuccess) IsKnown

type TunnelConnectionService

type TunnelConnectionService struct {
	Options []option.RequestOption
}

TunnelConnectionService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewTunnelConnectionService method instead.

func NewTunnelConnectionService

func NewTunnelConnectionService(opts ...option.RequestOption) (r *TunnelConnectionService)

NewTunnelConnectionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*TunnelConnectionService) Delete

func (r *TunnelConnectionService) Delete(ctx context.Context, accountID string, tunnelID string, opts ...option.RequestOption) (res *TunnelConnectionDeleteResponseUnion, err error)

Removes connections that are in a disconnected or pending reconnect state. We recommend running this command after shutting down a tunnel.

func (*TunnelConnectionService) Get

func (r *TunnelConnectionService) Get(ctx context.Context, accountID string, tunnelID string, opts ...option.RequestOption) (res *[]Client, err error)

Fetches connection details for a Cloudflare Tunnel.

type TunnelConnectorGetResponseEnvelope

type TunnelConnectorGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// A client (typically cloudflared) that maintains connections to a Cloudflare data
	// center.
	Result Client `json:"result,required"`
	// Whether the API call was successful
	Success TunnelConnectorGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelConnectorGetResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelConnectorGetResponseEnvelope) UnmarshalJSON

func (r *TunnelConnectorGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelConnectorGetResponseEnvelopeSuccess

type TunnelConnectorGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelConnectorGetResponseEnvelopeSuccessTrue TunnelConnectorGetResponseEnvelopeSuccess = true
)

func (TunnelConnectorGetResponseEnvelopeSuccess) IsKnown

type TunnelConnectorService

type TunnelConnectorService struct {
	Options []option.RequestOption
}

TunnelConnectorService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewTunnelConnectorService method instead.

func NewTunnelConnectorService

func NewTunnelConnectorService(opts ...option.RequestOption) (r *TunnelConnectorService)

NewTunnelConnectorService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*TunnelConnectorService) Get

func (r *TunnelConnectorService) Get(ctx context.Context, accountID string, tunnelID string, connectorID string, opts ...option.RequestOption) (res *Client, err error)

Fetches connector and connection details for a Cloudflare Tunnel.

type TunnelDeleteResponse

type TunnelDeleteResponse struct {
	// UUID of the tunnel.
	ID string `json:"id,required" format:"uuid"`
	// The tunnel connections between your origin and Cloudflare's edge.
	Connections []Connection `json:"connections,required"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A user-friendly name for a tunnel.
	Name string `json:"name,required"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time                `json:"deleted_at" format:"date-time"`
	JSON      tunnelDeleteResponseJSON `json:"-"`
}

func (*TunnelDeleteResponse) UnmarshalJSON

func (r *TunnelDeleteResponse) UnmarshalJSON(data []byte) (err error)

type TunnelDeleteResponseEnvelope

type TunnelDeleteResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   TunnelDeleteResponse  `json:"result,required"`
	// Whether the API call was successful
	Success TunnelDeleteResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelDeleteResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelDeleteResponseEnvelope) UnmarshalJSON

func (r *TunnelDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelDeleteResponseEnvelopeSuccess

type TunnelDeleteResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelDeleteResponseEnvelopeSuccessTrue TunnelDeleteResponseEnvelopeSuccess = true
)

func (TunnelDeleteResponseEnvelopeSuccess) IsKnown

type TunnelEditParams

type TunnelEditParams struct {
	// A user-friendly name for a tunnel.
	Name param.Field[string] `json:"name"`
	// Sets the password required to run a locally-managed tunnel. Must be at least 32
	// bytes and encoded as a base64 string.
	TunnelSecret param.Field[string] `json:"tunnel_secret"`
}

func (TunnelEditParams) MarshalJSON

func (r TunnelEditParams) MarshalJSON() (data []byte, err error)

type TunnelEditResponse

type TunnelEditResponse struct {
	// Cloudflare account ID
	AccountTag string `json:"account_tag"`
	// This field can have the runtime type of [[]shared.CloudflareTunnelConnection],
	// [[]TunnelEditResponseTunnelWARPConnectorTunnelConnection].
	Connections interface{} `json:"connections,required"`
	// Timestamp of when the tunnel established at least one connection to Cloudflare's
	// edge. If `null`, the tunnel is inactive.
	ConnsActiveAt time.Time `json:"conns_active_at" format:"date-time"`
	// Timestamp of when the tunnel became inactive (no connections to Cloudflare's
	// edge). If `null`, the tunnel is active.
	ConnsInactiveAt time.Time `json:"conns_inactive_at" format:"date-time"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time `json:"deleted_at" format:"date-time"`
	// UUID of the tunnel.
	ID string `json:"id" format:"uuid"`
	// This field can have the runtime type of [interface{}].
	Metadata interface{} `json:"metadata,required"`
	// A user-friendly name for a tunnel.
	Name string `json:"name"`
	// If `true`, the tunnel can be configured remotely from the Zero Trust dashboard.
	// If `false`, the tunnel must be configured locally on the origin machine.
	RemoteConfig bool `json:"remote_config"`
	// The status of the tunnel. Valid values are `inactive` (tunnel has never been
	// run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
	// state), `healthy` (tunnel is active and able to serve traffic), or `down`
	// (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
	Status TunnelEditResponseStatus `json:"status"`
	// The type of tunnel.
	TunType TunnelEditResponseTunType `json:"tun_type"`
	JSON    tunnelEditResponseJSON    `json:"-"`
	// contains filtered or unexported fields
}

A Cloudflare Tunnel that connects your origin to Cloudflare's edge.

func (TunnelEditResponse) AsUnion

AsUnion returns a TunnelEditResponseUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are shared.CloudflareTunnel, zero_trust.TunnelEditResponseTunnelWARPConnectorTunnel.

func (*TunnelEditResponse) UnmarshalJSON

func (r *TunnelEditResponse) UnmarshalJSON(data []byte) (err error)

type TunnelEditResponseEnvelope

type TunnelEditResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	// A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
	Result TunnelEditResponse `json:"result,required"`
	// Whether the API call was successful
	Success TunnelEditResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelEditResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelEditResponseEnvelope) UnmarshalJSON

func (r *TunnelEditResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelEditResponseEnvelopeSuccess

type TunnelEditResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelEditResponseEnvelopeSuccessTrue TunnelEditResponseEnvelopeSuccess = true
)

func (TunnelEditResponseEnvelopeSuccess) IsKnown

type TunnelEditResponseStatus

type TunnelEditResponseStatus string

The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).

const (
	TunnelEditResponseStatusInactive TunnelEditResponseStatus = "inactive"
	TunnelEditResponseStatusDegraded TunnelEditResponseStatus = "degraded"
	TunnelEditResponseStatusHealthy  TunnelEditResponseStatus = "healthy"
	TunnelEditResponseStatusDown     TunnelEditResponseStatus = "down"
)

func (TunnelEditResponseStatus) IsKnown

func (r TunnelEditResponseStatus) IsKnown() bool

type TunnelEditResponseTunType

type TunnelEditResponseTunType string

The type of tunnel.

const (
	TunnelEditResponseTunTypeCfdTunnel     TunnelEditResponseTunType = "cfd_tunnel"
	TunnelEditResponseTunTypeWARPConnector TunnelEditResponseTunType = "warp_connector"
	TunnelEditResponseTunTypeIPSec         TunnelEditResponseTunType = "ip_sec"
	TunnelEditResponseTunTypeGRE           TunnelEditResponseTunType = "gre"
	TunnelEditResponseTunTypeCNI           TunnelEditResponseTunType = "cni"
)

func (TunnelEditResponseTunType) IsKnown

func (r TunnelEditResponseTunType) IsKnown() bool

type TunnelEditResponseTunnelWARPConnectorTunnel

type TunnelEditResponseTunnelWARPConnectorTunnel struct {
	// UUID of the tunnel.
	ID string `json:"id" format:"uuid"`
	// Cloudflare account ID
	AccountTag string `json:"account_tag"`
	// The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
	Connections []TunnelEditResponseTunnelWARPConnectorTunnelConnection `json:"connections"`
	// Timestamp of when the tunnel established at least one connection to Cloudflare's
	// edge. If `null`, the tunnel is inactive.
	ConnsActiveAt time.Time `json:"conns_active_at" format:"date-time"`
	// Timestamp of when the tunnel became inactive (no connections to Cloudflare's
	// edge). If `null`, the tunnel is active.
	ConnsInactiveAt time.Time `json:"conns_inactive_at" format:"date-time"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time `json:"deleted_at" format:"date-time"`
	// Metadata associated with the tunnel.
	Metadata interface{} `json:"metadata"`
	// A user-friendly name for a tunnel.
	Name string `json:"name"`
	// The status of the tunnel. Valid values are `inactive` (tunnel has never been
	// run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
	// state), `healthy` (tunnel is active and able to serve traffic), or `down`
	// (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
	Status TunnelEditResponseTunnelWARPConnectorTunnelStatus `json:"status"`
	// The type of tunnel.
	TunType TunnelEditResponseTunnelWARPConnectorTunnelTunType `json:"tun_type"`
	JSON    tunnelEditResponseTunnelWARPConnectorTunnelJSON    `json:"-"`
}

A Warp Connector Tunnel that connects your origin to Cloudflare's edge.

func (TunnelEditResponseTunnelWARPConnectorTunnel) ImplementsZeroTrustTunnelEditResponse

func (r TunnelEditResponseTunnelWARPConnectorTunnel) ImplementsZeroTrustTunnelEditResponse()

func (*TunnelEditResponseTunnelWARPConnectorTunnel) UnmarshalJSON

func (r *TunnelEditResponseTunnelWARPConnectorTunnel) UnmarshalJSON(data []byte) (err error)

type TunnelEditResponseTunnelWARPConnectorTunnelConnection

type TunnelEditResponseTunnelWARPConnectorTunnelConnection struct {
	// UUID of the Cloudflare Tunnel connection.
	ID string `json:"id" format:"uuid"`
	// UUID of the Cloudflare Tunnel connector.
	ClientID string `json:"client_id" format:"uuid"`
	// The cloudflared version used to establish this connection.
	ClientVersion string `json:"client_version"`
	// The Cloudflare data center used for this connection.
	ColoName string `json:"colo_name"`
	// Cloudflare continues to track connections for several minutes after they
	// disconnect. This is an optimization to improve latency and reliability of
	// reconnecting. If `true`, the connection has disconnected but is still being
	// tracked. If `false`, the connection is actively serving traffic.
	IsPendingReconnect bool `json:"is_pending_reconnect"`
	// Timestamp of when the connection was established.
	OpenedAt time.Time `json:"opened_at" format:"date-time"`
	// The public IP address of the host running cloudflared.
	OriginIP string `json:"origin_ip"`
	// UUID of the Cloudflare Tunnel connection.
	UUID string                                                    `json:"uuid" format:"uuid"`
	JSON tunnelEditResponseTunnelWARPConnectorTunnelConnectionJSON `json:"-"`
}

func (*TunnelEditResponseTunnelWARPConnectorTunnelConnection) UnmarshalJSON

func (r *TunnelEditResponseTunnelWARPConnectorTunnelConnection) UnmarshalJSON(data []byte) (err error)

type TunnelEditResponseTunnelWARPConnectorTunnelStatus

type TunnelEditResponseTunnelWARPConnectorTunnelStatus string

The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).

const (
	TunnelEditResponseTunnelWARPConnectorTunnelStatusInactive TunnelEditResponseTunnelWARPConnectorTunnelStatus = "inactive"
	TunnelEditResponseTunnelWARPConnectorTunnelStatusDegraded TunnelEditResponseTunnelWARPConnectorTunnelStatus = "degraded"
	TunnelEditResponseTunnelWARPConnectorTunnelStatusHealthy  TunnelEditResponseTunnelWARPConnectorTunnelStatus = "healthy"
	TunnelEditResponseTunnelWARPConnectorTunnelStatusDown     TunnelEditResponseTunnelWARPConnectorTunnelStatus = "down"
)

func (TunnelEditResponseTunnelWARPConnectorTunnelStatus) IsKnown

type TunnelEditResponseTunnelWARPConnectorTunnelTunType

type TunnelEditResponseTunnelWARPConnectorTunnelTunType string

The type of tunnel.

const (
	TunnelEditResponseTunnelWARPConnectorTunnelTunTypeCfdTunnel     TunnelEditResponseTunnelWARPConnectorTunnelTunType = "cfd_tunnel"
	TunnelEditResponseTunnelWARPConnectorTunnelTunTypeWARPConnector TunnelEditResponseTunnelWARPConnectorTunnelTunType = "warp_connector"
	TunnelEditResponseTunnelWARPConnectorTunnelTunTypeIPSec         TunnelEditResponseTunnelWARPConnectorTunnelTunType = "ip_sec"
	TunnelEditResponseTunnelWARPConnectorTunnelTunTypeGRE           TunnelEditResponseTunnelWARPConnectorTunnelTunType = "gre"
	TunnelEditResponseTunnelWARPConnectorTunnelTunTypeCNI           TunnelEditResponseTunnelWARPConnectorTunnelTunType = "cni"
)

func (TunnelEditResponseTunnelWARPConnectorTunnelTunType) IsKnown

type TunnelEditResponseUnion

type TunnelEditResponseUnion interface {
	ImplementsZeroTrustTunnelEditResponse()
}

A Cloudflare Tunnel that connects your origin to Cloudflare's edge.

Union satisfied by shared.CloudflareTunnel or zero_trust.TunnelEditResponseTunnelWARPConnectorTunnel.

type TunnelGetResponse

type TunnelGetResponse struct {
	// UUID of the tunnel.
	ID string `json:"id,required" format:"uuid"`
	// The tunnel connections between your origin and Cloudflare's edge.
	Connections []Connection `json:"connections,required"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A user-friendly name for a tunnel.
	Name string `json:"name,required"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time             `json:"deleted_at" format:"date-time"`
	JSON      tunnelGetResponseJSON `json:"-"`
}

func (*TunnelGetResponse) UnmarshalJSON

func (r *TunnelGetResponse) UnmarshalJSON(data []byte) (err error)

type TunnelGetResponseEnvelope

type TunnelGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   TunnelGetResponse     `json:"result,required"`
	// Whether the API call was successful
	Success TunnelGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelGetResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelGetResponseEnvelope) UnmarshalJSON

func (r *TunnelGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelGetResponseEnvelopeSuccess

type TunnelGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelGetResponseEnvelopeSuccessTrue TunnelGetResponseEnvelopeSuccess = true
)

func (TunnelGetResponseEnvelopeSuccess) IsKnown

type TunnelListParams

type TunnelListParams struct {
	ExcludePrefix param.Field[string] `query:"exclude_prefix"`
	// If provided, include only tunnels that were created (and not deleted) before
	// this time.
	ExistedAt     param.Field[time.Time] `query:"existed_at" format:"date-time"`
	IncludePrefix param.Field[string]    `query:"include_prefix"`
	// If `true`, only include deleted tunnels. If `false`, exclude deleted tunnels. If
	// empty, all tunnels will be included.
	IsDeleted param.Field[bool] `query:"is_deleted"`
	// A user-friendly name for the tunnel.
	Name param.Field[string] `query:"name"`
	// Page number of paginated results.
	Page param.Field[float64] `query:"page"`
	// Number of results to display.
	PerPage param.Field[float64] `query:"per_page"`
	// The status of the tunnel. Valid values are `inactive` (tunnel has never been
	// run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
	// state), `healthy` (tunnel is active and able to serve traffic), or `down`
	// (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
	Status param.Field[TunnelListParamsStatus] `query:"status"`
	// The types of tunnels to filter separated by a comma.
	TunTypes param.Field[string] `query:"tun_types"`
	// UUID of the tunnel.
	UUID          param.Field[string]    `query:"uuid" format:"uuid"`
	WasActiveAt   param.Field[time.Time] `query:"was_active_at" format:"date-time"`
	WasInactiveAt param.Field[time.Time] `query:"was_inactive_at" format:"date-time"`
}

func (TunnelListParams) URLQuery

func (r TunnelListParams) URLQuery() (v url.Values)

URLQuery serializes TunnelListParams's query parameters as `url.Values`.

type TunnelListParamsStatus

type TunnelListParamsStatus string

The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).

const (
	TunnelListParamsStatusInactive TunnelListParamsStatus = "inactive"
	TunnelListParamsStatusDegraded TunnelListParamsStatus = "degraded"
	TunnelListParamsStatusHealthy  TunnelListParamsStatus = "healthy"
	TunnelListParamsStatusDown     TunnelListParamsStatus = "down"
)

func (TunnelListParamsStatus) IsKnown

func (r TunnelListParamsStatus) IsKnown() bool

type TunnelListResponse

type TunnelListResponse struct {
	// Cloudflare account ID
	AccountTag string `json:"account_tag"`
	// This field can have the runtime type of [[]shared.CloudflareTunnelConnection],
	// [[]TunnelListResponseTunnelWARPConnectorTunnelConnection].
	Connections interface{} `json:"connections,required"`
	// Timestamp of when the tunnel established at least one connection to Cloudflare's
	// edge. If `null`, the tunnel is inactive.
	ConnsActiveAt time.Time `json:"conns_active_at" format:"date-time"`
	// Timestamp of when the tunnel became inactive (no connections to Cloudflare's
	// edge). If `null`, the tunnel is active.
	ConnsInactiveAt time.Time `json:"conns_inactive_at" format:"date-time"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time `json:"deleted_at" format:"date-time"`
	// UUID of the tunnel.
	ID string `json:"id" format:"uuid"`
	// This field can have the runtime type of [interface{}].
	Metadata interface{} `json:"metadata,required"`
	// A user-friendly name for a tunnel.
	Name string `json:"name"`
	// If `true`, the tunnel can be configured remotely from the Zero Trust dashboard.
	// If `false`, the tunnel must be configured locally on the origin machine.
	RemoteConfig bool `json:"remote_config"`
	// The status of the tunnel. Valid values are `inactive` (tunnel has never been
	// run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
	// state), `healthy` (tunnel is active and able to serve traffic), or `down`
	// (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
	Status TunnelListResponseStatus `json:"status"`
	// The type of tunnel.
	TunType TunnelListResponseTunType `json:"tun_type"`
	JSON    tunnelListResponseJSON    `json:"-"`
	// contains filtered or unexported fields
}

A Cloudflare Tunnel that connects your origin to Cloudflare's edge.

func (TunnelListResponse) AsUnion

AsUnion returns a TunnelListResponseUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are shared.CloudflareTunnel, zero_trust.TunnelListResponseTunnelWARPConnectorTunnel.

func (*TunnelListResponse) UnmarshalJSON

func (r *TunnelListResponse) UnmarshalJSON(data []byte) (err error)

type TunnelListResponseStatus

type TunnelListResponseStatus string

The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).

const (
	TunnelListResponseStatusInactive TunnelListResponseStatus = "inactive"
	TunnelListResponseStatusDegraded TunnelListResponseStatus = "degraded"
	TunnelListResponseStatusHealthy  TunnelListResponseStatus = "healthy"
	TunnelListResponseStatusDown     TunnelListResponseStatus = "down"
)

func (TunnelListResponseStatus) IsKnown

func (r TunnelListResponseStatus) IsKnown() bool

type TunnelListResponseTunType

type TunnelListResponseTunType string

The type of tunnel.

const (
	TunnelListResponseTunTypeCfdTunnel     TunnelListResponseTunType = "cfd_tunnel"
	TunnelListResponseTunTypeWARPConnector TunnelListResponseTunType = "warp_connector"
	TunnelListResponseTunTypeIPSec         TunnelListResponseTunType = "ip_sec"
	TunnelListResponseTunTypeGRE           TunnelListResponseTunType = "gre"
	TunnelListResponseTunTypeCNI           TunnelListResponseTunType = "cni"
)

func (TunnelListResponseTunType) IsKnown

func (r TunnelListResponseTunType) IsKnown() bool

type TunnelListResponseTunnelWARPConnectorTunnel

type TunnelListResponseTunnelWARPConnectorTunnel struct {
	// UUID of the tunnel.
	ID string `json:"id" format:"uuid"`
	// Cloudflare account ID
	AccountTag string `json:"account_tag"`
	// The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
	Connections []TunnelListResponseTunnelWARPConnectorTunnelConnection `json:"connections"`
	// Timestamp of when the tunnel established at least one connection to Cloudflare's
	// edge. If `null`, the tunnel is inactive.
	ConnsActiveAt time.Time `json:"conns_active_at" format:"date-time"`
	// Timestamp of when the tunnel became inactive (no connections to Cloudflare's
	// edge). If `null`, the tunnel is active.
	ConnsInactiveAt time.Time `json:"conns_inactive_at" format:"date-time"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time `json:"deleted_at" format:"date-time"`
	// Metadata associated with the tunnel.
	Metadata interface{} `json:"metadata"`
	// A user-friendly name for a tunnel.
	Name string `json:"name"`
	// The status of the tunnel. Valid values are `inactive` (tunnel has never been
	// run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
	// state), `healthy` (tunnel is active and able to serve traffic), or `down`
	// (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
	Status TunnelListResponseTunnelWARPConnectorTunnelStatus `json:"status"`
	// The type of tunnel.
	TunType TunnelListResponseTunnelWARPConnectorTunnelTunType `json:"tun_type"`
	JSON    tunnelListResponseTunnelWARPConnectorTunnelJSON    `json:"-"`
}

A Warp Connector Tunnel that connects your origin to Cloudflare's edge.

func (TunnelListResponseTunnelWARPConnectorTunnel) ImplementsZeroTrustTunnelListResponse

func (r TunnelListResponseTunnelWARPConnectorTunnel) ImplementsZeroTrustTunnelListResponse()

func (*TunnelListResponseTunnelWARPConnectorTunnel) UnmarshalJSON

func (r *TunnelListResponseTunnelWARPConnectorTunnel) UnmarshalJSON(data []byte) (err error)

type TunnelListResponseTunnelWARPConnectorTunnelConnection

type TunnelListResponseTunnelWARPConnectorTunnelConnection struct {
	// UUID of the Cloudflare Tunnel connection.
	ID string `json:"id" format:"uuid"`
	// UUID of the Cloudflare Tunnel connector.
	ClientID string `json:"client_id" format:"uuid"`
	// The cloudflared version used to establish this connection.
	ClientVersion string `json:"client_version"`
	// The Cloudflare data center used for this connection.
	ColoName string `json:"colo_name"`
	// Cloudflare continues to track connections for several minutes after they
	// disconnect. This is an optimization to improve latency and reliability of
	// reconnecting. If `true`, the connection has disconnected but is still being
	// tracked. If `false`, the connection is actively serving traffic.
	IsPendingReconnect bool `json:"is_pending_reconnect"`
	// Timestamp of when the connection was established.
	OpenedAt time.Time `json:"opened_at" format:"date-time"`
	// The public IP address of the host running cloudflared.
	OriginIP string `json:"origin_ip"`
	// UUID of the Cloudflare Tunnel connection.
	UUID string                                                    `json:"uuid" format:"uuid"`
	JSON tunnelListResponseTunnelWARPConnectorTunnelConnectionJSON `json:"-"`
}

func (*TunnelListResponseTunnelWARPConnectorTunnelConnection) UnmarshalJSON

func (r *TunnelListResponseTunnelWARPConnectorTunnelConnection) UnmarshalJSON(data []byte) (err error)

type TunnelListResponseTunnelWARPConnectorTunnelStatus

type TunnelListResponseTunnelWARPConnectorTunnelStatus string

The status of the tunnel. Valid values are `inactive` (tunnel has never been run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy state), `healthy` (tunnel is active and able to serve traffic), or `down` (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).

const (
	TunnelListResponseTunnelWARPConnectorTunnelStatusInactive TunnelListResponseTunnelWARPConnectorTunnelStatus = "inactive"
	TunnelListResponseTunnelWARPConnectorTunnelStatusDegraded TunnelListResponseTunnelWARPConnectorTunnelStatus = "degraded"
	TunnelListResponseTunnelWARPConnectorTunnelStatusHealthy  TunnelListResponseTunnelWARPConnectorTunnelStatus = "healthy"
	TunnelListResponseTunnelWARPConnectorTunnelStatusDown     TunnelListResponseTunnelWARPConnectorTunnelStatus = "down"
)

func (TunnelListResponseTunnelWARPConnectorTunnelStatus) IsKnown

type TunnelListResponseTunnelWARPConnectorTunnelTunType

type TunnelListResponseTunnelWARPConnectorTunnelTunType string

The type of tunnel.

const (
	TunnelListResponseTunnelWARPConnectorTunnelTunTypeCfdTunnel     TunnelListResponseTunnelWARPConnectorTunnelTunType = "cfd_tunnel"
	TunnelListResponseTunnelWARPConnectorTunnelTunTypeWARPConnector TunnelListResponseTunnelWARPConnectorTunnelTunType = "warp_connector"
	TunnelListResponseTunnelWARPConnectorTunnelTunTypeIPSec         TunnelListResponseTunnelWARPConnectorTunnelTunType = "ip_sec"
	TunnelListResponseTunnelWARPConnectorTunnelTunTypeGRE           TunnelListResponseTunnelWARPConnectorTunnelTunType = "gre"
	TunnelListResponseTunnelWARPConnectorTunnelTunTypeCNI           TunnelListResponseTunnelWARPConnectorTunnelTunType = "cni"
)

func (TunnelListResponseTunnelWARPConnectorTunnelTunType) IsKnown

type TunnelListResponseUnion

type TunnelListResponseUnion interface {
	ImplementsZeroTrustTunnelListResponse()
}

A Cloudflare Tunnel that connects your origin to Cloudflare's edge.

Union satisfied by shared.CloudflareTunnel or zero_trust.TunnelListResponseTunnelWARPConnectorTunnel.

type TunnelManagementNewParams

type TunnelManagementNewParams struct {
	Resources param.Field[[]TunnelManagementNewParamsResource] `json:"resources,required"`
}

func (TunnelManagementNewParams) MarshalJSON

func (r TunnelManagementNewParams) MarshalJSON() (data []byte, err error)

type TunnelManagementNewParamsResource

type TunnelManagementNewParamsResource string

Management resources the token will have access to.

const (
	TunnelManagementNewParamsResourceLogs TunnelManagementNewParamsResource = "logs"
)

func (TunnelManagementNewParamsResource) IsKnown

type TunnelManagementNewResponseArray

type TunnelManagementNewResponseArray []interface{}

func (TunnelManagementNewResponseArray) ImplementsZeroTrustTunnelManagementNewResponseUnion

func (r TunnelManagementNewResponseArray) ImplementsZeroTrustTunnelManagementNewResponseUnion()

type TunnelManagementNewResponseEnvelope

type TunnelManagementNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo            `json:"errors,required"`
	Messages []shared.ResponseInfo            `json:"messages,required"`
	Result   TunnelManagementNewResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success TunnelManagementNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelManagementNewResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelManagementNewResponseEnvelope) UnmarshalJSON

func (r *TunnelManagementNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelManagementNewResponseEnvelopeSuccess

type TunnelManagementNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelManagementNewResponseEnvelopeSuccessTrue TunnelManagementNewResponseEnvelopeSuccess = true
)

func (TunnelManagementNewResponseEnvelopeSuccess) IsKnown

type TunnelManagementNewResponseUnion

type TunnelManagementNewResponseUnion interface {
	ImplementsZeroTrustTunnelManagementNewResponseUnion()
}

Union satisfied by zero_trust.TunnelManagementNewResponseUnknown, zero_trust.TunnelManagementNewResponseArray or shared.UnionString.

type TunnelManagementService

type TunnelManagementService struct {
	Options []option.RequestOption
}

TunnelManagementService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewTunnelManagementService method instead.

func NewTunnelManagementService

func NewTunnelManagementService(opts ...option.RequestOption) (r *TunnelManagementService)

NewTunnelManagementService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*TunnelManagementService) New

Gets a management token used to access the management resources (i.e. Streaming Logs) of a tunnel.

type TunnelNewParams

type TunnelNewParams struct {
	// A user-friendly name for a tunnel.
	Name param.Field[string] `json:"name,required"`
	// Sets the password required to run a locally-managed tunnel. Must be at least 32
	// bytes and encoded as a base64 string.
	TunnelSecret param.Field[string] `json:"tunnel_secret,required"`
}

func (TunnelNewParams) MarshalJSON

func (r TunnelNewParams) MarshalJSON() (data []byte, err error)

type TunnelNewResponse

type TunnelNewResponse struct {
	// UUID of the tunnel.
	ID string `json:"id,required" format:"uuid"`
	// The tunnel connections between your origin and Cloudflare's edge.
	Connections []Connection `json:"connections,required"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A user-friendly name for a tunnel.
	Name string `json:"name,required"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time             `json:"deleted_at" format:"date-time"`
	JSON      tunnelNewResponseJSON `json:"-"`
}

func (*TunnelNewResponse) UnmarshalJSON

func (r *TunnelNewResponse) UnmarshalJSON(data []byte) (err error)

type TunnelNewResponseEnvelope

type TunnelNewResponseEnvelope struct {
	Errors   []shared.ResponseInfo `json:"errors,required"`
	Messages []shared.ResponseInfo `json:"messages,required"`
	Result   TunnelNewResponse     `json:"result,required"`
	// Whether the API call was successful
	Success TunnelNewResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelNewResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelNewResponseEnvelope) UnmarshalJSON

func (r *TunnelNewResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelNewResponseEnvelopeSuccess

type TunnelNewResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelNewResponseEnvelopeSuccessTrue TunnelNewResponseEnvelopeSuccess = true
)

func (TunnelNewResponseEnvelopeSuccess) IsKnown

type TunnelService

type TunnelService struct {
	Options        []option.RequestOption
	Configurations *TunnelConfigurationService
	Connections    *TunnelConnectionService
	Token          *TunnelTokenService
	Connectors     *TunnelConnectorService
	Management     *TunnelManagementService
}

TunnelService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewTunnelService method instead.

func NewTunnelService

func NewTunnelService(opts ...option.RequestOption) (r *TunnelService)

NewTunnelService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*TunnelService) Delete

func (r *TunnelService) Delete(ctx context.Context, accountID string, tunnelID string, opts ...option.RequestOption) (res *TunnelDeleteResponse, err error)

Deletes an Argo Tunnel from an account.

func (*TunnelService) Edit

func (r *TunnelService) Edit(ctx context.Context, accountID string, tunnelID string, body TunnelEditParams, opts ...option.RequestOption) (res *TunnelEditResponse, err error)

Updates an existing Cloudflare Tunnel.

func (*TunnelService) Get

func (r *TunnelService) Get(ctx context.Context, accountID string, tunnelID string, opts ...option.RequestOption) (res *TunnelGetResponse, err error)

Fetches a single Argo Tunnel.

func (*TunnelService) List

Lists and filters all types of Tunnels in an account.

func (*TunnelService) ListAutoPaging

Lists and filters all types of Tunnels in an account.

func (*TunnelService) New

func (r *TunnelService) New(ctx context.Context, accountID string, body TunnelNewParams, opts ...option.RequestOption) (res *TunnelNewResponse, err error)

Creates a new Argo Tunnel in an account.

type TunnelTokenGetResponseArray

type TunnelTokenGetResponseArray []interface{}

func (TunnelTokenGetResponseArray) ImplementsZeroTrustTunnelTokenGetResponseUnion

func (r TunnelTokenGetResponseArray) ImplementsZeroTrustTunnelTokenGetResponseUnion()

type TunnelTokenGetResponseEnvelope

type TunnelTokenGetResponseEnvelope struct {
	Errors   []shared.ResponseInfo       `json:"errors,required"`
	Messages []shared.ResponseInfo       `json:"messages,required"`
	Result   TunnelTokenGetResponseUnion `json:"result,required"`
	// Whether the API call was successful
	Success TunnelTokenGetResponseEnvelopeSuccess `json:"success,required"`
	JSON    tunnelTokenGetResponseEnvelopeJSON    `json:"-"`
}

func (*TunnelTokenGetResponseEnvelope) UnmarshalJSON

func (r *TunnelTokenGetResponseEnvelope) UnmarshalJSON(data []byte) (err error)

type TunnelTokenGetResponseEnvelopeSuccess

type TunnelTokenGetResponseEnvelopeSuccess bool

Whether the API call was successful

const (
	TunnelTokenGetResponseEnvelopeSuccessTrue TunnelTokenGetResponseEnvelopeSuccess = true
)

func (TunnelTokenGetResponseEnvelopeSuccess) IsKnown

type TunnelTokenGetResponseUnion

type TunnelTokenGetResponseUnion interface {
	ImplementsZeroTrustTunnelTokenGetResponseUnion()
}

Union satisfied by zero_trust.TunnelTokenGetResponseUnknown, zero_trust.TunnelTokenGetResponseArray or shared.UnionString.

type TunnelTokenService

type TunnelTokenService struct {
	Options []option.RequestOption
}

TunnelTokenService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewTunnelTokenService method instead.

func NewTunnelTokenService

func NewTunnelTokenService(opts ...option.RequestOption) (r *TunnelTokenService)

NewTunnelTokenService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*TunnelTokenService) Get

func (r *TunnelTokenService) Get(ctx context.Context, accountID string, tunnelID string, opts ...option.RequestOption) (res *TunnelTokenGetResponseUnion, err error)

Gets the token used to associate cloudflared with a specific tunnel.

type UniqueClientIDInput

type UniqueClientIDInput struct {
	// List ID.
	ID string `json:"id,required"`
	// Operating System
	OperatingSystem UniqueClientIDInputOperatingSystem `json:"operating_system,required"`
	JSON            uniqueClientIDInputJSON            `json:"-"`
}

func (*UniqueClientIDInput) UnmarshalJSON

func (r *UniqueClientIDInput) UnmarshalJSON(data []byte) (err error)

type UniqueClientIDInputOperatingSystem

type UniqueClientIDInputOperatingSystem string

Operating System

const (
	UniqueClientIDInputOperatingSystemAndroid  UniqueClientIDInputOperatingSystem = "android"
	UniqueClientIDInputOperatingSystemIos      UniqueClientIDInputOperatingSystem = "ios"
	UniqueClientIDInputOperatingSystemChromeos UniqueClientIDInputOperatingSystem = "chromeos"
)

func (UniqueClientIDInputOperatingSystem) IsKnown

type UniqueClientIDInputParam

type UniqueClientIDInputParam struct {
	// List ID.
	ID param.Field[string] `json:"id,required"`
	// Operating System
	OperatingSystem param.Field[UniqueClientIDInputOperatingSystem] `json:"operating_system,required"`
}

func (UniqueClientIDInputParam) MarshalJSON

func (r UniqueClientIDInputParam) MarshalJSON() (data []byte, err error)

type UniqueDevices

type UniqueDevices struct {
	// total number of unique devices
	UniqueDevicesTotal int64             `json:"uniqueDevicesTotal,required"`
	JSON               uniqueDevicesJSON `json:"-"`
}

func (*UniqueDevices) UnmarshalJSON

func (r *UniqueDevices) UnmarshalJSON(data []byte) (err error)

type UserPolicyCheckGeo

type UserPolicyCheckGeo struct {
	Country string                 `json:"country"`
	JSON    userPolicyCheckGeoJSON `json:"-"`
}

func (*UserPolicyCheckGeo) UnmarshalJSON

func (r *UserPolicyCheckGeo) UnmarshalJSON(data []byte) (err error)

type VirtualNetwork

type VirtualNetwork struct {
	// UUID of the virtual network.
	ID string `json:"id,required" format:"uuid"`
	// Optional remark describing the virtual network.
	Comment string `json:"comment,required"`
	// Timestamp of when the resource was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// If `true`, this virtual network is the default for the account.
	IsDefaultNetwork bool `json:"is_default_network,required"`
	// A user-friendly name for the virtual network.
	Name string `json:"name,required"`
	// Timestamp of when the resource was deleted. If `null`, the resource has not been
	// deleted.
	DeletedAt time.Time          `json:"deleted_at" format:"date-time"`
	JSON      virtualNetworkJSON `json:"-"`
}

func (*VirtualNetwork) UnmarshalJSON

func (r *VirtualNetwork) UnmarshalJSON(data []byte) (err error)

type WorkspaceOneInput

type WorkspaceOneInput struct {
	// Compliance Status
	ComplianceStatus WorkspaceOneInputComplianceStatus `json:"compliance_status,required"`
	// Posture Integration ID.
	ConnectionID string                `json:"connection_id,required"`
	JSON         workspaceOneInputJSON `json:"-"`
}

func (*WorkspaceOneInput) UnmarshalJSON

func (r *WorkspaceOneInput) UnmarshalJSON(data []byte) (err error)

type WorkspaceOneInputComplianceStatus

type WorkspaceOneInputComplianceStatus string

Compliance Status

const (
	WorkspaceOneInputComplianceStatusCompliant    WorkspaceOneInputComplianceStatus = "compliant"
	WorkspaceOneInputComplianceStatusNoncompliant WorkspaceOneInputComplianceStatus = "noncompliant"
	WorkspaceOneInputComplianceStatusUnknown      WorkspaceOneInputComplianceStatus = "unknown"
)

func (WorkspaceOneInputComplianceStatus) IsKnown

type WorkspaceOneInputParam

type WorkspaceOneInputParam struct {
	// Compliance Status
	ComplianceStatus param.Field[WorkspaceOneInputComplianceStatus] `json:"compliance_status,required"`
	// Posture Integration ID.
	ConnectionID param.Field[string] `json:"connection_id,required"`
}

func (WorkspaceOneInputParam) MarshalJSON

func (r WorkspaceOneInputParam) MarshalJSON() (data []byte, err error)

type ZeroTrustGroup

type ZeroTrustGroup struct {
	// UUID
	ID        string    `json:"id"`
	CreatedAt time.Time `json:"created_at" format:"date-time"`
	// Rules evaluated with a NOT logical operator. To match a policy, a user cannot
	// meet any of the Exclude rules.
	Exclude []AccessRule `json:"exclude"`
	// Rules evaluated with an OR logical operator. A user needs to meet only one of
	// the Include rules.
	Include []AccessRule `json:"include"`
	// Rules evaluated with an AND logical operator. To match a policy, a user must
	// meet all of the Require rules.
	IsDefault []AccessRule `json:"is_default"`
	// The name of the Access group.
	Name string `json:"name"`
	// Rules evaluated with an AND logical operator. To match a policy, a user must
	// meet all of the Require rules.
	Require   []AccessRule       `json:"require"`
	UpdatedAt time.Time          `json:"updated_at" format:"date-time"`
	JSON      zeroTrustGroupJSON `json:"-"`
}

func (*ZeroTrustGroup) UnmarshalJSON

func (r *ZeroTrustGroup) UnmarshalJSON(data []byte) (err error)

type ZeroTrustService

type ZeroTrustService struct {
	Options              []option.RequestOption
	Devices              *DeviceService
	IdentityProviders    *IdentityProviderService
	Organizations        *OrganizationService
	Seats                *SeatService
	Access               *AccessService
	DEX                  *DEXService
	Tunnels              *TunnelService
	ConnectivitySettings *ConnectivitySettingService
	DLP                  *DLPService
	Gateway              *GatewayService
	Networks             *NetworkService
	RiskScoring          *RiskScoringService
}

ZeroTrustService contains methods and other services that help with interacting with the testcloudflare API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewZeroTrustService method instead.

func NewZeroTrustService

func NewZeroTrustService(opts ...option.RequestOption) (r *ZeroTrustService)

NewZeroTrustService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL