(cli *cli)
| 221 | } |
| 222 | |
| 223 | func createCustomDomainCmd(cli *cli) *cobra.Command { |
| 224 | var inputs struct { |
| 225 | Domain string |
| 226 | Type string |
| 227 | VerificationMethod string |
| 228 | TLSPolicy string |
| 229 | CustomClientIPHeader string |
| 230 | DomainMetadata string |
| 231 | } |
| 232 | |
| 233 | cmd := &cobra.Command{ |
| 234 | Use: "create", |
| 235 | Args: cobra.NoArgs, |
| 236 | Short: "Create a custom domain", |
| 237 | Long: "Create a custom domain.\n\n" + |
| 238 | "To create interactively, use `auth0 domains create` with no arguments.\n\n" + |
| 239 | "To create non-interactively, supply the domain name, type, policy and " + |
| 240 | "other information through the flags.", |
| 241 | Example: ` auth0 domains create |
| 242 | auth0 domains create --domain <domain-name> |
| 243 | auth0 domains create --domain <domain-name> --policy recommended |
| 244 | auth0 domains create --domain <domain-name> --policy recommended --metadata '{"key1":"value1","key2":"value2"}' |
| 245 | auth0 domains create --domain <domain-name> --policy recommended --type auth0 |
| 246 | auth0 domains create --domain <domain-name> --policy recommended --type auth0 --ip-header "cf-connecting-ip" |
| 247 | auth0 domains create -d <domain-name> -p recommended -t auth0 -i "cf-connecting-ip" --json |
| 248 | auth0 domains create -d <domain-name> -p recommended -t auth0 -i "cf-connecting-ip" --json-compact`, |
| 249 | RunE: func(cmd *cobra.Command, args []string) error { |
| 250 | if err := customDomainDomain.Ask(cmd, &inputs.Domain, nil); err != nil { |
| 251 | return err |
| 252 | } |
| 253 | if err := customDomainPolicy.Select(cmd, &inputs.TLSPolicy, customDomainPolicyOptions, auth0.String(customDomainTLSPolicyRecommended)); err != nil { |
| 254 | return err |
| 255 | } |
| 256 | |
| 257 | if err := customDomainMetadata.Ask(cmd, &inputs.DomainMetadata, nil); err != nil { |
| 258 | return err |
| 259 | } |
| 260 | |
| 261 | customDomain := &management.CustomDomain{ |
| 262 | Domain: &inputs.Domain, |
| 263 | } |
| 264 | |
| 265 | if inputs.Type != "" { |
| 266 | customDomain.Type = apiProvisioningTypeFor(inputs.Type) |
| 267 | } else { |
| 268 | customDomain.Type = auth0.String(customDomainProvisioningTypeAuth0) |
| 269 | } |
| 270 | |
| 271 | if inputs.TLSPolicy != "" { |
| 272 | customDomain.TLSPolicy = apiTLSPolicyFor(inputs.TLSPolicy) |
| 273 | } |
| 274 | |
| 275 | if inputs.CustomClientIPHeader != "" { |
| 276 | customDomain.CustomClientIPHeader = &inputs.CustomClientIPHeader |
| 277 | } |
| 278 | |
| 279 | if inputs.DomainMetadata != "" { |
| 280 | var metadata map[string]interface{} |
no test coverage detected