# Cloud Connector # Rules ## Rules `client.CloudConnector.Rules.List(ctx, query) (*SinglePage[RuleListResponse], error)` **get** `/zones/{zone_id}/cloud_connector/rules` Rules ### Parameters - `query RuleListParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type RuleListResponse struct{…}` - `ID string` - `Description string` - `Enabled bool` - `Expression string` - `Parameters RuleListResponseParameters` Parameters of Cloud Connector Rule - `Host string` Host to perform Cloud Connection to - `Provider RuleListResponseProvider` Cloud Provider type - `const RuleListResponseProviderAwsS3 RuleListResponseProvider = "aws_s3"` - `const RuleListResponseProviderCloudflareR2 RuleListResponseProvider = "cloudflare_r2"` - `const RuleListResponseProviderGcpStorage RuleListResponseProvider = "gcp_storage"` - `const RuleListResponseProviderAzureStorage RuleListResponseProvider = "azure_storage"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloud_connector" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.CloudConnector.Rules.List(context.TODO(), cloud_connector.RuleListParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "95c365e17e1b46599cd99e5b231fac4e", "description": "Rule description", "enabled": true, "expression": "http.cookie eq \"a=b\"", "parameters": { "host": "examplebucket.s3.eu-north-1.amazonaws.com" }, "provider": "aws_s3" } ] } ``` ## Put Rules `client.CloudConnector.Rules.Update(ctx, params) (*SinglePage[RuleUpdateResponse], error)` **put** `/zones/{zone_id}/cloud_connector/rules` Put Rules ### Parameters - `params RuleUpdateParams` - `ZoneID param.Field[string]` Path param: Identifier. - `Rules param.Field[[]RuleUpdateParamsRule]` Body param - `ID string` - `Description string` - `Enabled bool` - `Expression string` - `Parameters RuleUpdateParamsRulesParameters` Parameters of Cloud Connector Rule - `Host string` Host to perform Cloud Connection to - `Provider RuleUpdateParamsRulesProvider` Cloud Provider type - `const RuleUpdateParamsRulesProviderAwsS3 RuleUpdateParamsRulesProvider = "aws_s3"` - `const RuleUpdateParamsRulesProviderCloudflareR2 RuleUpdateParamsRulesProvider = "cloudflare_r2"` - `const RuleUpdateParamsRulesProviderGcpStorage RuleUpdateParamsRulesProvider = "gcp_storage"` - `const RuleUpdateParamsRulesProviderAzureStorage RuleUpdateParamsRulesProvider = "azure_storage"` ### Returns - `type RuleUpdateResponse struct{…}` - `ID string` - `Description string` - `Enabled bool` - `Expression string` - `Parameters RuleUpdateResponseParameters` Parameters of Cloud Connector Rule - `Host string` Host to perform Cloud Connection to - `Provider RuleUpdateResponseProvider` Cloud Provider type - `const RuleUpdateResponseProviderAwsS3 RuleUpdateResponseProvider = "aws_s3"` - `const RuleUpdateResponseProviderCloudflareR2 RuleUpdateResponseProvider = "cloudflare_r2"` - `const RuleUpdateResponseProviderGcpStorage RuleUpdateResponseProvider = "gcp_storage"` - `const RuleUpdateResponseProviderAzureStorage RuleUpdateResponseProvider = "azure_storage"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloud_connector" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.CloudConnector.Rules.Update(context.TODO(), cloud_connector.RuleUpdateParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "95c365e17e1b46599cd99e5b231fac4e", "description": "Rule description", "enabled": true, "expression": "http.cookie eq \"a=b\"", "parameters": { "host": "examplebucket.s3.eu-north-1.amazonaws.com" }, "provider": "aws_s3" } ] } ```